【问题标题】:WordPress get category ID from URLWordPress 从 URL 获取类别 ID
【发布时间】:2012-09-29 16:53:19
【问题描述】:

我很难找到解决方案,有人知道如何得到这个:

我的 WordPress 帖子不止一个类别,但只有一个是永久链接类别。我只需要获取该永久链接类别的 ID(我需要此信息,以便我可以通过自定义查询从永久链接类别中获取一些最新帖子)。

网址看起来像这样 http://domain.com/category-name/post-title

我需要那个“类别名称”ID。

【问题讨论】:

    标签: wordpress categories posts


    【解决方案1】:

    global $wp;
      $current_url = home_url( add_query_arg( array(), $wp->request ) ); get url
    
    $url_array = explode('/',$current_url); 
    $retVal = !empty($url_array[5]) ? $url_array[5] : $url_array[4] ;
    $idObj = get_category_by_slug($retVal); 
    echo $idObj->name

    【讨论】:

      【解决方案2】:
      $category = end(get_the_category());
      $current = $category->cat_ID;
      echo 'id='.$current . ' - name=' . $category->cat_name;
      

      【讨论】:

        【解决方案3】:

        一个好用的是:

        <?php $page_object = get_queried_object(); ?>
        <h1><?php echo $page_object->cat_name; ?></h1>
        

        【讨论】:

          【解决方案4】:

          我的回答是:

          function get_category_by_url($url) {
              foreach( (get_the_category()) as $category) {
                  if ( get_category_link($category->cat_ID) == $url )
                      return $category->slug;
              }
              return false;
          }
          

          【讨论】:

            【解决方案5】:

            Wordpress 选择最旧的类别作为永久链接类别。除非您使用某些插件,否则无法更改该行为。如果您选择使用插件,请从插件设置中获取类别 ID。

            您可以列出此帖子的所有类别并选择最相关的类别。 在循环中使用以下代码:

            foreach((get_the_category()) as $category) 
            {
               if ( $category->cat_ID == 1000 )
                  ; // DO SOMETHING
            }
            

            【讨论】:

            • 问题是因为我需要动态拉帖子,检查这个可能的解决方案:解析 url 并从中提取类别名称,然后根据类别名称拉帖子?
            【解决方案6】:

            如果帖子属于多个类别,如果您正在查看来自第二个类别的帖子怎么办。在这种情况下,检索永久链接类别的类别 ID 可能无济于事,因为您需要当前类别的相关帖子。

            为此,您可以通过传递类别名称来获取 ID,如下所示:

            <?php get_cat_ID($cat_name)?>
            

            这有帮助吗?

            【讨论】:

            • 对不起,没有,但我可能有一个解决方法,只需要一点编码帮助。如果我解析 url 并从中提取类别名称会发生​​什么,在这种情况下,我将能够基于关于类别名称?
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-04-06
            • 1970-01-01
            • 2023-01-18
            • 1970-01-01
            相关资源
            最近更新 更多