Wordpress 从多类别页面获取当前活动类别

Wordpress 从多类别页面获取当前活动类别,wordpress,categories,posts,Wordpress,Categories,Posts,我带着一点挑战来到这里 背景: 我在一家公司工作,我正在为他们建立一个新网站。 它正在Wordpress中构建,顺便说一句,一切都很顺利 该网站有一个新闻和博客页面,上面有帖子。 但在某些特殊情况下,新闻帖子也可以是博客页面的一部分 因此,当发生这种情况时,我们设置2个类别,并将主类别放在类别的最前面 挑战: 当我访问包含多个类别的帖子时,我可以访问: http://example.com/blog/news_post 或 但是页面上有一些值取决于类别的名称。(我知道这通常不是个好主意,但在这

我带着一点挑战来到这里

背景: 我在一家公司工作,我正在为他们建立一个新网站。 它正在Wordpress中构建,顺便说一句,一切都很顺利

该网站有一个新闻和博客页面,上面有帖子。 但在某些特殊情况下,新闻帖子也可以是博客页面的一部分

因此,当发生这种情况时,我们设置2个类别,并将主类别放在类别的最前面

挑战: 当我访问包含多个类别的帖子时,我可以访问:

http://example.com/blog/news_post

但是页面上有一些值取决于类别的名称。(我知道这通常不是个好主意,但在这件事上我别无选择)

当我访问一个页面时,我想获取用于获取所需字段值的类别

因此,当进入新闻页面时,我希望在使用函数获取名称时,将“news”作为类别名称

我尝试过互联网上说的多种方法,但它们要么不起作用,要么(大多数情况下)不适用于多类别的帖子,而是用于获取页面的所有内容

如果你需要更多的信息,请告诉我

另外,我不希望我们的网址,但如果这是最好的选择,我会采取它。 希望你们能帮忙

编辑 我只是设法做到了。 虽然最后我还是使用了url,但它比其他选项有很多编码

在这篇文章之后,我通过

当我看到有人回答我的问题时,我已经没有选择了。我试过了,经过一点调整后,它就成功了

这就是我现在的代码

$url = add_query_arg( $wp->query_string, '', home_url( $wp->request ) );
$category = substr($url, strpos($url, "category_name=") + 14);
如果您有更好的方法,请让我知道:)
我完全支持更好的方式。

您想显示特定类别的帖子,并获得正确的类别名称吗

我不知道您是如何得到的,但是为了避免混淆,您可以通过创建category-news.php文件来创建一个单独的category模板。参考它将仅显示来自新闻类别的帖子。在这里,您将获得类别名称以显示帖子

<?php
            $cat_name=get_category($cat);
            echo $cat_name;// diplay cat name
            $cat_id=$cat_name->cat_ID;
            ?>
            <div>
                <?php query_posts("cat=$cat_id&order=ASC&orderby=date"); ?>
                <h4><?php single_cat_title(); ?></h4><hr>
                <ul>
                    <?php while (have_posts()) : the_post();
                       ?>
                        <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
                        </li>
                    <?php endwhile; ?>
                </ul>
            </div>



您是否尝试过使用?你可以检查referer是否是一个特定的类别页面,如果是真的,做点什么。看起来不错,但我不能在这个项目中使用该选项。如果可以的话我会的,所以我希望你的回答能帮助其他人。
<?php
            $cat_name=get_category($cat);
            echo $cat_name;// diplay cat name
            $cat_id=$cat_name->cat_ID;
            ?>
            <div>
                <?php query_posts("cat=$cat_id&order=ASC&orderby=date"); ?>
                <h4><?php single_cat_title(); ?></h4><hr>
                <ul>
                    <?php while (have_posts()) : the_post();
                       ?>
                        <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
                        </li>
                    <?php endwhile; ?>
                </ul>
            </div>