2017-04-16 22 views
0

我创建了一个小插件,在一些要求下添加<!--nextpage-->短代码。在wordpress中制作文章分页工作从php动态工作

例如,我的插件会检查用户代理是否是机器人,如果是,它不会添加<!--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

要打印到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/

+0

这里的结果将打印<! - nextpage - >作为html代码的注释,wordpress不会处理代码,请任何其他想法!因为看起来没有工作 –

+0

你怎么知道Wordpress不会处理代码,如果它是打印命令打印<! - nextpage - >到html代码?你在开玩笑吗 ? –

+0

你有没有试过<! - nextpage - >之前? 它正在加载之前,你可以尝试它现在,即时通讯不是在开玩笑 –