下面是一个建议,使用wp_link_pages_link
筛选以删除以前的链接:
add_filter( \'wp_link_pages_link\', function( $link, $nextorprev )
{
return get_query_var( \'page\' ) > $nextorprev ? \'\' : $link;
}, 10, 2 );
我们还可以创建一个插件,删除空的上一个/下一个链接。
因此,如果我们有以下情况之一:
\'nextpagelink\' => \'\',
\'nextpagelink\' => false,
\'nextpagelink\' => null,
或
\'previouspagelink\' => \'\',
\'previouspagelink\' => false,
\'previouspagelink\' => null,
然后将删除这些链接。
以下是此类插件的框架:
<?php
/**
* Plugin Name: Remove Empty Next/Previous Content Pagination Links
* Plugin URI: http://wordpress.stackexchange.com/a/239335/26350
*/
add_filter( \'wp_link_pages_args\', function( $args )
{
if( empty( $args[\'previouspagelink\'] ) )
add_filter( \'wp_link_pages_link\', \'wpse_remove_prev_links\', 10, 2 );
if( empty( $args[\'nextpagelink\'] ) )
add_filter( \'wp_link_pages_link\', \'wpse_remove_next_links\', 10, 2 );
return $args;
} );
add_filter( \'wp_link_pages\', function( $output, $args )
{
if( empty( $args[\'previouspagelink\'] ) )
remove_filter( \'wp_link_pages_link\', \'wpse_remove_prev_links\', 10, 2 );
if( empty( $args[\'nextpagelink\'] ) )
remove_filter( \'wp_link_pages_link\', \'wpse_remove_next_links\', 10, 2 );
return $output;
}, 10, 2 );
function wpse_remove_prev_links( $link, $nextorprev )
{
return get_query_var( \'page\' ) > $nextorprev ? \'\' : $link;
}
function wpse_remove_next_links( $link, $nextorprev )
{
return get_query_var( \'page\' ) < $nextorprev ? \'\' : $link;
}
如果省略“nextpagelink”或“previouspagelink”参数,这将不会覆盖默认设置。
以下是在最后一页添加自定义链接的方法:
add_filter( \'wp_link_pages_link\', function( $link, $nextorprev ) use ( &$numpages )
{
return get_query_var( \'page\' ) === $numpages ? \'CUSTOM LINK\' : $link;
}, 11, 2 );
我们的优先级比我们的插件晚。