正如我在评论中提到的,您可以使用add_rewrite_endpoint
为了实现这一点。
首先,添加端点:
function wpa_author_endpoints(){
add_rewrite_endpoint( \'liked-posts\', EP_AUTHORS );
}
add_action( \'init\', \'wpa_author_endpoints\' );
刷新重写规则后(请访问
Settings > Permalinks
页面中),作者URL现在可以附加
/liked-posts/
.
接下来,将过滤器添加到author_template
为这些请求加载不同的模板。这将检查请求是否已设置liked-posts
查询var并加载模板liked-posts.php
如果存在:
function wpa_author_template( $template = \'\' ){
global $wp_query;
if( array_key_exists( \'liked-posts\', $wp_query->query_vars ) )
$template = locate_template( array( \'liked-posts.php\', $template ), false );
return $template;
}
add_filter( \'author_template\', \'wpa_author_template\' );
在该模板中,您可以使用
get_queried_object
获取所查询作者的作者数据,您可以在其他查询中使用该数据来加载作者数据。
编辑-分页不适用于终结点,因为终结点之后的任何内容都会放入终结点查询变量。因此,要获取页码,只需从查询变量中提取它:
if( strpos( $wp_query->query_vars[\'liked-posts\'] ,\'page\') !== false ) {
echo substr( $wp_query->query_vars[\'liked-posts\'], 5 );
}