我正在尝试使用短代码返回自定义分类中特定类别的上一篇和下一篇文章的链接(slug = home-category)。
以下是我一直在使用的代码:
add_shortcode( 'newnext', 'next_shortcode' ); add_shortcode( 'newprev', 'prev_shortcode' ); function next_shortcode($atts) { return get_next_post_link( '%link', '%title', true, '', 'home-category' ); } function prev_shortcode($atts) { return get_previous_post_link( '%link', '%title', true, '', 'home-category' ); }
如果我放置
echo get_previous_post_link( '%link', '%title', true, '', 'home-category' ); echo get_next_post_link( '%link', '%title', true, '', 'home-category' );进入php主题文件,代码工作正常。另外,如果我使用
echo do_shortcode('[newprev]'); echo do_shortcode('[newnext]');
它工作正常。但是,当我在WordPress编辑器中放置短代码[newprev] [newnext]时,我什么都没得到。
是否有某些原因会从页面模板文件中运行,而不是从帖子内容中运行?