获取模板中自定义帖子类型的重写插件

时间:2020-04-14 作者:Floris

如何在模板中获得自定义post类型的重写slug?

register_post_type( \'products\',
    \'rewrite\'     => array( \'slug\' => \'fabrications\' ),
    // ... etc
);
现在在我的模板文件中global $post 有post\\u type属性。但我找不到rewrite slug 在任何地方

请帮忙。

Update: 我需要在模板部件中显示类别的永久链接。

<a href="<?php echo get_site_url() . \'/\' . $post_type_slug . \'/category/\' . $category->slug . \'/\' ?>" class="cat-bar__label"><?php echo $category->name; ?></a>

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

您可以使用访问帖子类型属性get_post_type_object(). 如果返回的对象:

$post_type_object = get_post_type_object( \'products\' );
$rewrite_slug     = $post_type_object->rewrite[\'slug\'];
<小时>

Update

我需要在模板部件中显示类别的永久链接。

不需要。要获取类别存档的URL,请使用get_term_link():

<a href="<?php echo esc_url( get_term_link( $category ) ); ?>" class="cat-bar__label"><?php echo $category->name; ?></a>

相关推荐

在主机的PHP升级后开始收到警告消息

我使用的儿童主题是2122(客户总是对的)。我最近开始在仪表板顶部和仪表板的Jetpack面板上看到以下警告机器人:“警告:在第81行的/home/leytongr/public\\u html/wp-content/plugins/theme-logo-plugin/themelogo.PHP中使用未定义的常量register\\u设置-假定“register\\u设置”(这将在PHP的未来版本中引发错误)。”这是从第80行开始的代码,您将看到我在这里提出查询的原因:function tl_init()