如何在Ubuntu服务器通过PHP服务端渲染脚本并在WordPress展示Dukascopy组件?
在WordPress中通过PHP服务端渲染展示Dukascopy图表组件的方法
要在WordPress站点实现服务端渲染并展示指定的Dukascopy脚本组件,可通过以下几种PHP实现方式:
方法一:自定义短代码(灵活用于文章/页面任意位置)
这是最便捷的方式,可在任意文章或页面中通过短代码调用组件:
- 登录服务器,找到WordPress主题目录下的
functions.php文件(推荐使用子主题,避免主题更新丢失代码) - 添加以下PHP代码注册短代码:
function dukascopy_chart_shortcode() { ob_start(); ?> <script type="text/javascript"> DukascopyApplet = { "type": "chart", "params": { "showUI": true, "showTabs": true, "showParameterToolbar": true, "showOfferSide": true, "allowInstrumentChange": true, "allowPeriodChange": true, "allowOfferSideChange": true, "showAdditionalToolbar": true, "showDetachButton": true, "presentationType": "candle", "axisX": true, "axisY": true, "legend": true, "timeline": true, "showDateSeparators": true, "showZoom": true, "showScrollButtons": true, "showAutoShiftButton": true, "crosshair": true, "borders": false, "theme": "Pastelle", "uiColor": "#000", "availableInstruments": "l:", "instrument": "EUR/USD", "period": "7", "offerSide": "BID", "timezone": 0, "live": true, "panLock": false, "width": "100%", "height": "600", "adv": "popup" } }; </script> <script type="text/javascript" src="https://freeserv-static.dukascopy.com/2.0/core.js"></script> <?php return ob_get_clean(); } add_shortcode('dukascopy_chart', 'dukascopy_chart_shortcode');
- 使用方式:在WordPress文章或页面编辑器中输入
[dukascopy_chart],发布后即可展示组件。
方法二:自定义模板标签(适合主题固定位置展示)
如果需要在主题固定区域(如侧边栏、页脚)展示组件,可使用模板标签:
- 在主题
functions.php中添加以下函数:
function display_dukascopy_chart() { ?> <script type="text/javascript"> DukascopyApplet = { "type": "chart", "params": { "showUI": true, "showTabs": true, "showParameterToolbar": true, "showOfferSide": true, "allowInstrumentChange": true, "allowPeriodChange": true, "allowOfferSideChange": true, "showAdditionalToolbar": true, "showDetachButton": true, "presentationType": "candle", "axisX": true, "axisY": true, "legend": true, "timeline": true, "showDateSeparators": true, "showZoom": true, "showScrollButtons": true, "showAutoShiftButton": true, "crosshair": true, "borders": false, "theme": "Pastelle", "uiColor": "#000", "availableInstruments": "l:", "instrument": "EUR/USD", "period": "7", "offerSide": "BID", "timezone": 0, "live": true, "panLock": false, "width": "100%", "height": "600", "adv": "popup" } }; </script> <script type="text/javascript" src="https://freeserv-static.dukascopy.com/2.0/core.js"></script> <?php }
- 在主题模板文件(如
sidebar.php、page.php)的目标位置添加调用代码:
<?php display_dukascopy_chart(); ?>
方法三:直接嵌入主题模板(一次性固定位置)
若只需在某个固定页面或区域展示,可直接将脚本代码插入对应主题模板文件的目标位置,但这种方式灵活性差,主题更新时需重新添加,建议配合子主题使用。
注意事项
- 优先使用子主题修改代码,避免主题更新导致代码丢失
- 上述方式均为服务端渲染:PHP在服务器直接输出脚本内容,浏览器加载时直接执行,符合需求
- 确保服务器网络可正常访问Dukascopy的
core.js文件,若有网络限制,可下载文件到本地服务器后修改引用路径
内容的提问来源于stack exchange,提问作者Brad1
相关产品推荐
相关产品推荐

