web-dev-qa-db-ja.com

ショートコード内で配列を爆発させる

これは現時点では機能しますが、配列からの最初の値のみを返します。同じキーを共有する複数のカスタムフィールド値(mp3)をエコーし​​たり、印刷したり、展開したりするために苦労しています。ショートコードは別名カンマで区切られたURLを探していますtracks="http://url1.mp3, http:/url2.mp3"私は私がここで少し混乱を作成したことを知っています。より深い水域に浸っています...

<div id="post_meta_player">
<?
global $post;
if(get_post_meta($post->ID, 'mp3', false))
{
foreach(get_post_meta($post->ID, 'mp3', false) as $mp3)
    {
    $mytracks = print_r($mp3, ',');
    }
}
$shortcodes = '[mp3-jplayer tracks="'.$mytracks.'"]';
mp3j_put( $shortcodes);
?>
</div>
5
glu

ややこしい質問ですが、私はあなたが欲しいと思います:

[mp3-jplayer tracks="'.implode(', ', get_post_meta($post->ID, 'mp3', false)).'"]

あなたがメタキーの値の配列を得ると仮定すると、これはコンマで区切られた文字列に結合されます。

3
onetrickpony