有没有办法防止在同一页中运行多个短代码?如果已执行短代码,则不运行其他短代码。
add_shortcode(\'foo\', \'foo_add_player\');
function foo_add_player($atts){
//do not run twice
}
有没有办法防止在同一页中运行多个短代码?如果已执行短代码,则不运行其他短代码。
add_shortcode(\'foo\', \'foo_add_player\');
function foo_add_player($atts){
//do not run twice
}
设置标志,如$already_run
设置为静态并为其提供初始值false
. 然后检查该值是否为真。如果没有,则执行一次性操作,然后设置$already_run
到true
. 下次调用此函数时,它不会重新分配静态属性,而是使用代码末尾设置的值。因此,它将跳过第二次和后续调用。
function foo_add_player($atts) {
static $already_run = false;
if ( $already_run !== true ) {
// do stuff here
}
$already_run = true;
}
我有很多帖子,其中我有本月的帖子标题。当月底,手动更改所有帖子有点烦人。因此,我创建了一个短代码来显示当前月份。我使用了add_filter( \'the_title\', \'do_shortcode\' );执行标题中的短代码。一切正常。问题是,在元标题中,显示的是原始短代码,而不是输出。有什么建议可以帮我解决吗。提前谢谢。