2017-02-09 7 views
0

たとえば、私はを持っています。カテゴリは私のワードプレスのインストールでは、異なる金属の名前でここに、 Metal (brass),Metal (aluminum)など。WordPressの投稿を特定のカテゴリのワイルドカードで検索し、固有の結果を出力

私が必要とするのは、特定のものをスキップして、そのカテゴリのすべての投稿からすべての金属のすべてのユニークな言及を出力することです。ソート

私の知る限り理解し、私はすべての金属を持つ配列を作成する必要があります言及し、それは私が望むように、何の問題が私のためにありません

<?php foreach($my_array as $key => $value) {echo $value.', ';} ?> 

を使用して、その後にのみ固有の名前と出力配列の内容を保ちます

<?php $my_array = array_unique(($metals_array), SORT_REGULAR); ?> 

のようなものを使用して、最終的な配列を準備するが、私はMetal (*)のための記事を検索し、出力では、たとえば、Metal (steel)をスキップし、必要なデータと、この配列を埋めるためにどのよう見当がつかないします。

答えて

0

これを試してください:

<?php 
$title_array = array(); 
$args = array('post_type' => 'post', 'category_name' => 'metals', 'orderby'=> 'title', 'order'=>'ASC'); 
$query = new WP_Query($args); 
if($query->have_posts()): 
    while($query->have_posts()) : $query->the_post(); 
     $title_array[] = get_the_title(); 
    endwhile; 
endif; 
$unique_array = array_unique($title_array); 

if($unique_array): 
    foreach($unique_array as $unique) { 
     echo $unique; 
    } 
endif; 
?> 

それは、カテゴリに基づいて、単純なポストのためのクエリですが、あなたは「カスタムポストタイプ」を作成した場合、クエリは、そうでない場合、それはあなたのために働くだろう、変更されます。

'category_name' => 'カテゴリ - スラッグ'。カテゴリ名はカテゴリスラッグで構成されます。

これがあなたを助けてくれることを願っています。

+0

いいコードですが、私は**のようなものを返す必要がありますが、私たちは**金属(黄銅)、金属(鉄)、金属(アルミニウム)私の問題は、ワイルドカードを使用して、投稿内のテキストの検索結果を配列に入力することです。 Metal(真ちゅう)、Metal(鋼)、Metal(アルミニウム)、Metal(何でも)で配列を取得してからこの配列を出力するだけで、 'Metal(*)'好き。 – YKKY

+0

タイトルがBrass、Aluminumなどのようなメタル名の場合、タイトルは分かりますか?配列の作成中にタイトルの周りに 'Metal()'を追加するだけです。 –

+0

- > $ title_array [] = "Metal("。get_the_title()。 ")"; –

関連する問題