尝试使用GET_TERMS过滤帖子

时间:2012-12-18 作者:Chuck

使用get\\u术语,我创建了三个术语链接列表。如果我单击一个术语,当前会发生什么,就是要查看该术语的存档,而我现在试图实现的是,当我单击第二个术语时,我想查看两个术语的存档,而不仅仅是最新术语的存档。基本上是创建一些级别的过滤帖子。

我的第一个猜测是,我必须设置一些变量来影响查询,对此有什么建议吗?还是有更好的方法来实现这一点?

<h2>Filter By Deployment:</h2>
<?php
$deployments = get_terms( \'deployments\', array(\'orderby\' => \'name\', \'order\' => \'ASC\', \'hide_empty\' => 1) );
    echo \'<ul>\';
    foreach ( $deployments as $deployment ) {
        echo \'<li><a href="\'.get_term_link($deployment->slug, \'deployments\').\'">\'.$deployment->name.\'</a></li>\';
    }
    echo \'</ul>\';
?>


<h2>Filter By Category:</h2>
<?php
$categories = get_terms( \'category\', array(\'orderby\' => \'name\', \'order\' => \'ASC\', \'hide_empty\' => 1) );
    echo \'<ul>\';
    foreach ( $categories as $category ) {
        echo \'<li><a href="\'.get_term_link($category->slug, \'category\').\'">\'.$category->name.\'</a></li>\';
    }
    echo \'</ul>\';
?>


<h2>Filter By Keyword:</h2>
<?php
$tags = get_terms( \'post_tag\', array(\'orderby\' => \'name\', \'order\' => \'ASC\', \'hide_empty\' => 1) );
    echo \'<ul>\';
    foreach ( $tags as $tag ) {
        echo \'<li><a href="\'.get_term_link($tag->slug, \'post_tag\').\'">\'.$tag->name.\'</a></li>\';
    }
    echo \'</ul>\';
?>

2 个回复
SO网友:730wavy

你试过同位素吗?我正在从事一个需要类似功能的项目。到目前为止,这是我发现的最接近排序/筛选帖子的方法。

链接-http://isotope.metafizzy.co/

下面是我对使用wordpress实现它的一些问题,并且在一定程度上能够做到这一点。它可以帮助您开始-

https://stackoverflow.com/questions/13956593/unable-to-make-isotope-filter-sort-posts-in-wp

Isotope Drop Down Categories Filter Function

SO网友:shahpranaf

试试下面的情况<我想$query->is_post_type_archive() 将无法正常工作。我没有试过,所以不确定。直接呼叫is_post_type_archive()is_page() 作用

if ( ( is_post_type_archive( \'question\' ) || is_page(3001) ) && $query->is_main_query() ) {
        $query->set( \'post_type\', \'question\' );
    }

结束

相关推荐

WordPress是否限制Post Meta或Terms的插件名称的长度?

WordPress Codex指出,帖子类型名称和分类名称对slug名称有限制。Register Post Type -- 最多20个字符,不能包含大写字母或空格Register Taxonomy -- 分类的名称。名称应为插入形式(不得包含大写字母或空格),长度不得超过32个字符(数据库结构限制)</然而,WordPress Codex没有说明Post Meta或Terms是否对slug名称有限制。Add Post Meta -- 无缓动限制Insert Term -- 无缓动限制</这能得