缓冲应该始终作为您的最后手段使用,另外还有一种方法用于尝试返回您的短代码输出。如你所知,next_post_link()
和previous_post_link()
将其结果回显到屏幕,但我们需要返回这些结果的输出,以避免意外输出。
这两个函数只是响应从get_next_post_link()
和get_previous_post_link()
因此这将是在您的短代码中使用的函数
示例:
add_shortcode( \'prev\', \'prev_shortcode\' );
add_shortcode( \'next\', \'next_shortcode\' );
function next_shortcode() {
global $post;
$result = get_next_post_link( \'<div class="nav-next">%link</div>\', \'Next project\' );
return $result;
}
function prev_shortcode() {
global $post;
$result = get_previous_post_link( \'<div class="nav-previous">%link</div>\', \'Previous project\' );
return $result;
}
然而,我在这里确实有一些担心,那就是,为什么您需要从一个短代码运行它。您很可能会在单个贴子页面中使用
do_shortcode()
执行短代码。您需要记住,短代码需要被解析,这反过来又浪费了时间和资源(虽然可能只是很小的量)。短代码只能在页面编辑器的所见即所得编辑器中使用。如果您在除此之外的任何地方使用短代码(
,即使用do_shortcode()
),你做错了。
您只需使用next_post_link()
和previous_post_link()
正如模板中所示。它更快更好。
示例:
next_post_link( \'<div class="nav-next">%link</div>\', \'Next project\' );
previous_post_link( \'<div class="nav-previous">%link</div>\', \'Previous project\' );
除了@s\\u ha\\u dum所说的将第三个参数设置为
true
, 如果术语不属于内置分类法,还需要为术语所属的分类法设置第五个参数
category
.
因此,对于内置分类法category
, 你会的
next_post_link( \'<div class="nav-next">%link</div>\', \'Next project\', true );
previous_post_link( \'<div class="nav-previous">%link</div>\', \'Previous project\', true );
对于自定义分类法,您可以
next_post_link( \'<div class="nav-next">%link</div>\', \'Next project\', true, \'\', \'MY_TAXONOMY\' );
previous_post_link( \'<div class="nav-previous">%link</div>\', \'Previous project\', true, \'\', \'MY_TAXONOMY\' );
在哪里
MY_TAXONOMY
是自定义分类法的名称