WP_LINK_PAGES‘下一页链接’的缩写

时间:2019-04-01 作者:Discover

我想要“nextpagelink”短代码[nextpage_shortcode] 我可以将其放入内容中。

我见过一些帖子说,由于Wordpress呈现内容的方式,你不能在内容中放置任何与wp\\U link\\u页面相关的内容。

正如您所见,“nextpagelink”的文本会根据幻灯片的不同而变化。

我希望短代码能够反映这一点。

下面是我想做的事情的示意图:

enter image description here

两个“开始”按钮都链接到第二张幻灯片。

这就是我目前正在研究的内容:

function nextpage_shortcode( $atts ) { wp_link_pages( array(

\'before\' => \'<div id="slideshow">\',
\'after\' => \'</div>\',
\'next_or_number\' => \'next\', 
\'nextpagelink\' => ( get_query_var(\'page\') < 2 ) ? \'<span id="next"> BEGIN </span>\' : \'<span id="next"> NEXT </span>\' ) );

return [\'nextpagelink\'];
} add_shortcode( \'nextpage_short\', \'nextpage_shortcode\' );
它在某种程度上起作用。

它会在内容上方发布“nextpagelink”按钮,但不会在内容内部发布。

不确定如何继续。

请帮忙!

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

wp_link_pages() 默认情况下,会回显链接(或输出),除非设置echo parameter0 (或false). 其次,您的代码返回array 具有nextpagelink 作为唯一的项目/值。

但无论如何,如果您只想链接到下一页wp_link_pages() 不会是您应该使用的,因为它输出所有页面链接(开始、下一个、上一个等)。

相反,你可以试试这个,它对我很有效:

function nextpage_shortcode( $atts ) {
    global $page, $numpages, $multipage;
    if ( $multipage ) {
        $i = max( 1, $page );
        if ( $i < 2 ) {
            $text = \'<span id="next"> BEGIN </span>\';
        } elseif ( $i < $numpages ) {
            $text = \'<span id="next"> NEXT </span>\';
        }
        if ( ! empty( $text ) ) {
            $link = _wp_link_page( $i + 1 );
            return $link . $text . \'</a>\';
        }
    }
    return \'\';
}
add_shortcode( \'nextpage_short\', \'nextpage_shortcode\' );
但是,你应该知道我正在使用_wp_link_page() 这是一个私人功能。所以你可能想copy the source, 重命名函数(例如my_link_page), 和使用my_link_page() 在上述代码中。

我希望这会有所帮助,并记住<!--more--> 由于您专门处理<!--nextpage--> 仅标记。

相关推荐

get_post_meta pagination

我有自定义字段,具有多个值的数组$metas = get_post_meta($post->ID, \"$meta_key\", false); foreach ( $metas as $metas ){ echo $metas; } 当然,这将返回一个数组。如何对此分页?例如:www.example.com/post-title/1 将返回meta_value[0]和www.example.com/post-title/2 将