如何使用_ITLE()按类别查询帖子;

时间:2015-08-20 作者:Dillonsmart

Im在使用\\u title()按类别查询自定义帖子类型时有点问题;

我这样做的原因是因为标题与类别名称相同。

$args = array(\'post_type\' => \'Testimonials\', \'order\' => \'ASC\', \'category_name\' =>the_title());
然而,我没有得到任何东西,我也尝试过:

$title = the_title();
$args = array(\'post_type\' => \'Testimonials\', \'order\' => \'ASC\', \'category_name\' =>$title);
有什么帮助吗?

2 个回复
SO网友:David

查看函数的声明the_title(), 如果第三个参数$echo 设置为TRUE 默认设置为:

/**
 * Display or retrieve the current post title with optional content.
 *
 * @since 0.71
 *
 * @param string $before Optional. Content to prepend to the title.
 * @param string $after Optional. Content to append to the title.
 * @param bool $echo Optional, default to true.Whether to display or return.
 * @return null|string Null on no title. String if $echo parameter is false.
 */
function the_title($before = \'\', $after = \'\', $echo = true) {
    $title = get_the_title();

    if ( strlen($title) == 0 )
        return;

    $title = $before . $title . $after;

    if ( $echo )
        echo $title;
    else
        return $title;
}
所以要么你用the_title( \'\', \'\', FALSE ) 甚至更好get_the_title() 因为它使代码更具可读性:

$title = get_the_title();
$args = array(
    \'post_type\' => \'Testimonials\',
    \'order\' => \'ASC\',
    \'category_name\' => $title
);

SO网友:user78072

我认为这个问题的整个概念有点错误。自定义帖子类型的问题是,它们没有常规帖子那样的类别。它们有分类法和术语。事实上,常规类别也是常规职位的分类法。

因此,要回答您的问题,您首先需要知道分类法的名称。简单的方法是使用Chrome将鼠标悬停在WordPress仪表板中的taxonomy菜单项上。分类将显示在屏幕的左下角。请参见屏幕截图http://i.stack.imgur.com/vp38u.jpg

然后,当您知道分类名称时,可以执行以下操作:

$term = $post->post_name;

$args = array(
    \'post_type\' => \'Testimonials\',
    \'order\' => \'ASC\',
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'your_taxonomy_name\',
            \'field\'    => \'slug\',
            \'terms\'    => $term
            )
        )
);
但是,只有当你试图获取的术语的名称与你当前帖子的名称相同时,这件事才会起作用。

结束

相关推荐

Categories' hierarchy in URL

我目前正在处理的网站中的帖子都有多个层次分类。例如:Source - Books -- Moby Dick -- Sherlock Holmes 永久链接设置为/%category%/%postname%/. 然而,一篇文章的URL并不包括所有的子类别——我得到的只是site.com/source/books/*postname*, 尽管这篇文章在来源上没有分类,但只在书籍+白鲸上。有人能帮我找出如何调整这种行为吗?非常感谢。