1

我有网址http://domain.com/real-estate-news/phuket-luxury-property-in-high-demand-ms 其中“real-estate-news”是类别,“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

并想在查询变量中获取 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中添加部分查询变量请帮助我

4

2 回答 2

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 
), 

Dreamdare.org

shibashake.com1

shibashake.com2

当心 wp.tutsplus,作者自己经常在那里提供错误信息。

wp.​​tutsplus.com

于 2013-08-07T14:36:17.790 回答
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]&section=$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')
于 2020-07-21T22:54:10.350 回答