次の問題があります。
私のWordpress 3.6では、投稿用に「トピック」というカスタムフィールドがあります。このフィールドには、RSS によって別の Web サイトからのフレーズが自動的に入力され、複数の条件が追加されます。「Cars,Bikes,Stuff,Gadget」のように記入します。
get_posts で wordpress にクエリを実行すると、foreach ループで次のようになります。
Cars,Bikes,Stuff,Gadget
Cars,Bikes
Bikes,Stuff
Gadget
これを文字列に入れて、いくつかのものを置き換えます:
$topic_filter = get_posts(
array(
'numberposts' => -1,
'post_status' => 'private',
)
);
$search_topic = array(' ', '-&-', '-|-', '-/-', '---');
$replace_topic = array("-", "-", "-", "-", "-", "");
foreach ($topic_filter as $post_topic) {
$str = str_replace($search_topic, $replace_topic, get_post_meta($post_topic->ID, 'topic', true));
echo $str;
}
最終的なエコー出力は次のとおりです。
Cars,Bikes,Stuff,Gadget,Cars,Bikes,Bikes,Stuff,Gadget
ここまでは順調ですね。しかし、重複を今すぐ削除する方法は?
私は内破/爆発を試みましたが、アイテムが foreach ループにあり、各投稿の内部にのみ適用されるため、何もしません。
しかし、最終的には、このクリーンな文字列を次のような html 出力のリストとして取得することが目標であるため、foreach ループが必要です。
<input
type="button"
value="Cars"
class="filter-button"
data-control-type="button-filter"
data-control-action="filter"
data-control-name="Cars-btn"
data-path=".Cars"
/>
<input
type="button"
value="Bikes"
class="filter-button"
data-control-type="button-filter"
data-control-action="filter"
data-control-name="Bikes-btn"
data-path=".Bikes"
/>
<input
type="button"
value="Gadget"
class="filter-button"
data-control-type="button-filter"
data-control-action="filter"
data-control-name="Gadget-btn"
data-path=".Gadget"
/>
私にはかなり複雑に思えます:-(
何か案は?あなたの助けを本当にうれしく思います!
ありがとう!