我创建了一个小插件,可根据某些要求添加<!--nextpage-->
短代码。
例如,我的插件将检查用户代理是否是机器人,如果是,则不会添加<!--nextpage-->
,如果不是,则会添加它。
到目前为止,我创建了一个检查用户代理的功能:
function test(){
if($_SERVER['HTTP_USER_AGENT'] == ' Bot i want '){
// here we dnt show <!--nextpage-->
} else {
do_shortcode('<!--nextpage-->');
}
}
add_shortcode('myshortcode','test');
因此,当我在帖子编辑器中添加短代码时,它工作正常,但唯一的问题是它没有添加<!--nextpage-->
,它没有被执行,如果我尝试其他短代码[tweetme]
或其他注册的短代码,他们的工作正常。
答案 0 :(得分:0)
要打印到您的html页面,您不应该打电话
do_shortcode('<!--nextpage-->');
上述行无效,因为在Wordpress中不是有效的短代码格式,因此do_shortcode无法解析它。
wordpress中的有效短代码需要用[]括号括起来。
要实现您要执行的操作(在检测到网络爬虫时打印出来),您只需将测试功能更改为:
function test(){
if($_SERVER['HTTP_USER_AGENT'] == ' Bot i want '){
// here we dnt show <!--nextpage-->
} else {
echo '<!--nextpage-->';
}
}
另外,您可以在此处查看do_shortcode函数文档:https://developer.wordpress.org/reference/functions/do_shortcode/