我想添加一个时间戳,用作转换跟踪的唯一id。
我有一个[[timestamp]]
我的网站上的短代码。在文本中,它可以很好地工作,但当放置在src
图像标签的属性,例如:
<img src="http://example.com/transaction_id=[[timestamp]]">
有人知道这个问题的解决方案吗?
我使用的快捷码:
// Do TimeStamper Shortcode ( timestamper() )
function timestamper( $atts ){
if (!is_admin()) {
add_filter(\'widget_text\', \'do_shortcode\', 11);
}
$time = current_time( \'timestamp\' );
return $time;
}
add_shortcode( \'timestamp\', \'timestamper\' );
我在html代码中添加了短代码:
`<img src="http://oa1.nl/m/4521/cf039315e6a96f616cc0fe87f861fc640b0f3327/?transactie_id=[timestamp]" style="width: 1px; height: 1px; border: 0px;”>`
如你所见
here 在输出中,短代码不被时间所取代。在文本中(您在页面上看到的数字),它可以正常工作,但在文本下面有图像代码(您无法看到图像,只能在代码中看到,因为它是1 x 1像素的项目)。我附上了源代码的打印屏幕:
SO网友:Dave Romsey
使用单独的函数在文本小部件中启用短代码,因为在短代码函数本身中尝试这样做已经太晚了。
// Enable the use of shortcodes within the text widget.
function wpse249090_widget_text_enable_shortcodes() {
add_filter( \'widget_text\', \'do_shortcode\' );
}
add_action( \'init\', \'wpse249090_widget_text_enable_shortcodes\' );
// Do TimeStamper Shortcode ( timestamper() )
function timestamper( $atts ) {
$time = current_time( \'timestamp\' );
return $time;
}
add_shortcode( \'timestamp\', \'timestamper\' );