如何在我的子导航菜单中检索类别ID(难看的固定链接)?

时间:2017-02-26 作者:paranza

最近,我遇到了多个问题,在回到丑陋的主题时,我想到了一个非常永久的主题(出于许多不同的原因)。我用侧边栏上显示的类别和标记解决了问题,现在在自定义导航菜单中的类别也有同样的问题。

最初,下面的代码会把我带到所有类别为“惊人”的帖子,目前由于使用了丑陋的永久链接(我现在需要坚持使用这些链接,原因很多),我收到了一条404错误消息。以下是我的导航摘录:

<nav class="my-nav-menu">
  <div class="myclass">
    <ul role="navigation" class="mymenuentries">
      <li class="col-clas">
         <a class="myotherclass" href="<?php echo home_url() ?>/category/Amazing">AmazingCategory</a>
      </li>
   </ul>
  </div>
</nav>
代码将生成此URL:

http://localhost/mywebsite/Amazing

这将返回404消息,而我知道以下内容将返回与该类别相关的所有帖子:

http://localhost/mywebsite/?cat=12

如何动态确保类别是通过其ID获取的?我也非常不知道这段代码是如何与相当长的永久链接一起工作的。你能帮忙吗?

非常感谢。

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

使用get_term_link 并指定分类法:

$cat_slug = \'Amazing\';
$taxonomy = \'category\';
$cat_link = get_term_link( $cat_slug, $taxonomy );

if ( is_wp_error( $cat_link ) ) {
   echo $cat_link->get_error_message();
} else {
    echo $cat_link;
}

相关推荐

WP_DROPDOWN_CATEGORIES-如何在Widget中保存?

我想用wp_dropdown_categories 在自定义小部件中。所有内容都显示得很好,但由于某些原因,无法正确保存。这是form() 和update() 小部件的功能-我做错什么了吗?public function form( $instance ) { /* Set up some default widget settings. */ $defaults = array( \'title\' => \'Classes by Category\' );&#x