如何为页面注入自定义url路径?

时间:2016-11-23 作者:Muhammed

是否可以为页面创建自定义URL路径?当前页面url为http://localhost.dev/insight 我需要表现得像http://localhost.dev/city/local/insight wordpress中是否有自定义url的选项?

enter image description here

4 个回复
SO网友:user20392

您可以使用此插件生成这种永久链接https://wordpress.org/plugins/wp-category-permalink/

SO网友:Paul

最好为此注册一个新的帖子类型。在自定义帖子类型中,您可以轻松控制url结构。使用register_post_type 函数。

在此函数中,可以添加rewrite 变量此变量控制slug/url结构。查看此示例:

function insight_init() {
  register_post_type( \'insight\', array(
      \'labels\'            => array(),
      \'public\'            => true,
      \'hierarchical\'      => false,
      \'show_ui\'           => true,
      \'show_in_nav_menus\' => true,
      \'supports\'          => array( \'title\', \'editor\' ),
      \'has_archive\'       => false,
      \'rewrite\'           => array(\'slug\' => \'city/local\')),
      \'query_var\'         => true,
      \'menu_icon\'         => \'dashicons-analytics\',
  ) );

}
add_action( \'init\', \'insight_init\' );

SO网友:thnx-236659

上面提到的自定义帖子类型方法可能是最好的方法,但如果您不习惯在自己的插件中注册帖子类型或使用该代码,WordPress codex建议您使用一个插件:WP Category Permalink.

这是关于使用permalinks.

SO网友:Iggy

对于页面,您需要创建一个父页面,其中包含要放在中间的slug。然后,您可以选择这些页面作为最后一个slug页面(在您的案例中是insight页面)的父级。它会将所需的段塞插入您的URL。

因此,您需要创建/城市页面,然后创建/本地页面,并将/本地子级设置为/城市页面的父级。然后将/insight页的子级设置为/local父级。

然后,您可以将父页面的可见性更改为“草稿”或“专用”。URL将被保留。