1

ループの直前で、アーカイブページの1つに次のコードを追加しました。私はこの特定のアーカイブが年代順ではなくアルファベット順に表示される必要があります。これはそれがするべきことをします。WordPressカスタム分類用語をquery_posts()から除外する

global $query_string; 
$posts = query_posts($query_string . '&orderby=title&order=asc&posts_per_page=-1'); 

私はまたは、特定の分類用語を除外することが必要。私の分類法は「会社型」と呼ばれ、「特集」という用語を除外したいと考えています。私は&company-type=featuredを追加することによって、そのタクソノミ用語だけを表示するようにフィルタリングすることができますが、その逆を達成する必要があります。

これを達成することが目的としているすべてのものは、非常に異なる構文を使用しています。私は現在の引数をその構文にマッチさせようとしましたが、運がないので、この例にどのように適合するかはわかりません。私が見た例ではtax_queryパラメータを使用していますが、自分のコードで動作させることはできません。

私はこれを達成する可能性の高い複数の方法があります知っている、と私はquery_postsを使用することが必ずしも最善の解決策ではありませんが、それは私がこれまでに動作するように得ているだけだということを読みました。誰でも助けてくれますか?

+0

この[質問](http://wordpress.stackexchange.com/questions/12217をチェック/ from-do-i-exclude-a-post-loopからのカスタム分類法)。これはあなたを助けるでしょう。 – Gunaseelan

+0

ありがとう、@グナセラン。最初の検索でその投稿が表示されましたが、そのフォーマットを使用して残りのコードを実装しようとしましたが、動作させることができませんでした。 –

答えて

0

さて、私はそれを働かせました。私は何度か試したことがある別の構文を使用しましたが、私は$query_stringのオリジナルの引数をどのように含めるかわからないため、私のために働いていませんでした。

wp_parse_argsという名前のワードプレス機能があります。この機能は、同じ形式になります。これは私が結んだコードです。 (私も、今では前に私のために働いていなかった理由を私は理解していること、代わりにquery_postsWP_Queryに切り替える。)

global $query_string; 

$args = array( 
    'tax_query' => array (
    array(
     'taxonomy' => 'company-type', // My Custom Taxonomy 
     'terms' => 'featured', // My Taxonomy Term that I wanted to exclude 
     'field' => 'slug', // Whether I am passing term Slug or term ID 
     'operator' => 'NOT IN', // Selection operator - use IN to include, NOT IN to exclude 
    ), 
), 
    'posts_per_page' => -1, 
    'orderby' => 'title', 
    'order'=>'ASC' 
); 

$args = wp_parse_args($query_string, $args); 
$query = new WP_Query($args); 
+0

あなたは 'WP_Query'に切り替えてもらえましたが、' query_posts() 'はカスタムクエリを実行するのに恐ろしい方法であり、決して**使用しないでください** –

関連する問題