【问题标题】:Wordpress: Get posts by tag where tag contains a nameWordpress:按标签获取帖子,其中标签包含名称
【发布时间】:2013-05-02 14:57:59
【问题描述】:

我正在与多个艺术家合作的作品集网站,每个艺术家都有自己的博客。

为了让每个艺术家都有自己的博客,我决定让他们在他们制作的帖子中“标记”自己,在他们的作品集页面上,我将列出带有所述标签的帖子。

页面的名字,就是他们的名字,所以一开始我以为只是使用:

<?php 
    $args=array('posts_per_page'=>2, 'tag' => $post->post_title);
$wp_query = new WP_Query( $args );
?>

会起作用,但似乎没有任何结果。然而,当我回显帖子标题和标签时,它们都显示完全相同。

所以我的下一个想法是将标签与 reg 表达式匹配。比如:

<?php
if( preg_match("/tony/i",$post->post_title)){
    echo "Tony";    
}
?>

但我不知道如何将其用于 wp 查询。

知道如何做到这一点,或者是否有更好的方法来获得相同的最终结果?

【问题讨论】:

  • 奇怪,我尝试了你的第一个代码,它运行良好。但是,当标签中引入一个空格时,它就不起作用了。
  • @ChristianVarga 这是个大问题......这就是为什么我必须做我必须在下面做的事情。
  • @brbcoding 另外,这个线程似乎有一个很好且安全的方法来获取标签 slug:wordpress.org/support/topic/retrieve-posts-by-tags-with-spaces
  • @ChristianVarga,您发布的示例效果很好!谢谢!

标签: php tags wordpress-theming wordpress


【解决方案1】:

我最近对完全相同的问题感到困惑。我试图根据名字和姓氏的组合显示文章,但仅使用 tag 参数并不能正常工作。我实际上最终使用了tag_slug__and。这是我想出的...

<?php 

$original_query = $wp_query;
$args = array( 'tag_slug__and' => array(strtolower($first_name) . "-" . strtolower($last_name)) );
$wp_query = new WP_Query( $args );
if(have_posts()):
    echo "<h3>News Tagged " . $first_name . " " . $last_name . "</h3>"; 
    while(have_posts()) : the_post();

        $title = get_the_title();
        $content = get_the_content();
        $date = get_the_date();

            //use the vars for something suuhhhhweeeeet!



endwhile;
endif;
$wp_query = $original_query;
wp_reset_postdata();
?>

我使用tag_slug__and 的原因是因为标签slug 是小写标签,空格由- 分隔。这可能不是理想的解决方案,而且只是感觉很老套,但它确实有效。

【讨论】:

  • 感谢您的回复!这效果很好,但@ChristianVarga 发布的示例效果很好!
【解决方案2】:

我很好奇你为什么要使用标签,而不是使用作者页面模板和原生 WordPress 作者系统?有很多方法可以在没有标签的情况下做到这一点。如果您需要多个作者,请查看共同作者加插件。

http://wp.tutsplus.com/tutorials/how-to-create-a-wordpress-authors-page-template/

http://wordpress.org/extend/plugins/co-authors-plus/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-27
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2015-10-27
    相关资源
    最近更新 更多