我有网址http://domain.com/real-estate-news/phuket-luxury-property-in-high-demand-ms 其中“房地产新闻”是类别,“phuket-luxury-property-in-high-demand-ms”是帖子名称。 当我打印$ wp_query-> query_vars ['name'];它给出了post slug和$ wp_query-> query_vars ['category_name']给出了类别slug。
我想生成一个像http://domain.com/real-estate-news/phuket-luxury-property-in-high-demand-ms/xyz
这样的新网址并希望在查询var中获取xyz,如
echo $wp_query->query_vars['name']; // print "phuket-luxury-property-in-high-demand-ms"
echo $wp_query->query_vars['category_name']; // print "real-estate-news"
echo $wp_query->query_vars['section']; //print "xyz"
如何在wordpress中添加部分查询var请帮帮我
答案 0 :(得分:0)
这是自定义帖子类型吗?如果是,您有更多选择。在register_post_type()的数组中,您可以输入'rewrite'参数来更改slug名称,并破解该特定CPT的特定重写规则。我把这个项目放在一边因为它的复杂性,如果你找到答案,我很乐意听到它。以下是关于此事的笔记。
register_post_type(array(
//options
'rewrite' => array(
'slug' => 'beach', //a slug used to identify the post type in URLs.
'with_front' => false,
'feed' => true,
'pages' => true
),
谨防wp.tutsplus,作者自己经常提供错误的信息。
答案 1 :(得分:0)
我设法做到这一点的方法是添加重写规则。
这看起来与自定义帖子类型创建的内容非常相似,但还会收到第三个参数。 因此,在您的情况下,重写规则如下所示:
add_rewrite_rule(
// post-type | post-slug | section
'^real-state-news/([^/]+)(?:/([0-9]+))?/([^/]+)/?$',
// | Here the section is added
'index.php?post_type=real-state-news&name=$matches[1]§ion=$matches[3]',
'top'
);
//You then need to add a tag to it
add_rewrite_tag('%section%','([^&]+)');
// At this point, you should be able to grab that param
get_query_var('section')