gpt4 book ai didi

php - 计算帖子中使用 WordPress 简码的次数

转载 作者:搜寻专家 更新时间:2023-10-31 20:39:13 25 4
gpt4 key购买 nike

我有以下 WordPress 简码功能:

function wp_shortcode() {
static $i=1;
$return = '['.$i.']';
$i++;
return $return;
}
add_shortcode('shortcode', 'wp_shortcode');

这很好用。每次在文章中调用该函数时,$i 变量都会递增。所以对于

[shortcode][shortcode][shortcode][shortcode]

输出符合预期

[1][2][3][4]

但是

如果文章有多个页面,则计数器会在下一篇文章页面上重置。所以对于:

[shortcode][shortcode][shortcode][shortcode]
<!--nextpage-->
[shortcode][shortcode][shortcode][shortcode]

输出是

[1][2][3][4]
<!--nextpage-->
[1][2][3][4]

而不是想要的输出:

[1][2][3][4]
<!--nextpage-->
[5][6][7][8]

要改变这个吗?

最佳答案

因此,在通过预处理 the_content 并在呈现简码之前将 $atts 添加到简码中,研究了更多 @diggy 的想法后,我想出了这个:

function my_shortcode_content( $content ) {
//check to see if the post has your shortcode, skip do nothing if not found
if( has_shortcode( $content, 'shortcode' ) ):

//replace any shortcodes to the basic form ([shortcode 1] back to [shortcode])
//usefull when the post is edited and more shortcodes are added
$content = preg_replace('/shortcode .]/', 'shortcode]', $content);

//loop the content and replace the basic shortcodes with the incremented value
$content = preg_replace_callback('/shortocode]/', 'rep_count', $content);

endif;

return $content;
}
add_filter( 'content_save_pre' , 'my_shortcode_content' , 10, 1);

function rep_count($matches) {
static $i = 1;
return 'shortcode ' . $i++ .']';
}

关于php - 计算帖子中使用 WordPress 简码的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27507320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com