0

私はwordpressの高度なカスタムフィールドを使用しています。これは、構文を使用しget_field('custom_field_name');てデータベースからカスタムフィールドをプルします。この場合、一連のチェックボックスがあり、PHPを使用して、それぞれがチェックされているかどうかを確認しています。チェックされている場合は、文字列が吐き出されます。これが私のPHPです:

<?php 
    if(in_array('brand-id', get_field('type_of_work') )): echo "<a href='../../work/#brand-id'>Brand ID</a> |"; endif; echo " ";

    if(in_array('print', get_field('type_of_work') )): echo "<a href='../../work/#print'>Print</a> |"; endif; echo " ";

    if(in_array('books', get_field('type_of_work') )): echo "<a href='../../work/#books'>Books</a> |"; endif; echo " ";

    if(in_array('web', get_field('type_of_work') )): echo "<a href='../../work/#web'>Web</a> |"; endif; echo " "; 

    if(in_array('packaging', get_field('type_of_work') )): echo "<a href='../../work/#packaging'>Packaging</a> |"; endif; echo " ";

    if(in_array('exhibit', get_field('type_of_work') )): echo "<a href='../../work/#exhibit'>Exhibit</a> |"; endif; 

?>

これが行っているのは、このチェックボックスがオンになっている場合は、そのチェックボックスへのリンクを吐き出すということです。ご覧のとおり、私は「|」をエコーし​​ています 各リンクの後。問題は、最後のリンクの後に「|」が続くことです。最後の「|」を削除したい プログラムでPHPを使用します。おそらく、すべてを文字列に変換してから使用することができますsubstr($string, 0, -1);か?私がこれについてどうやって行くのか、アニーのアイデアはありますか?

4

3 に答える 3

2
$links = array();

if(in_array('brand-id', get_field('type_of_work') )) $links[] = "<a href='../../work/#brand-id'>Brand ID</a>";
....

echo implode(" | ",$links);
于 2012-05-10T14:05:28.857 に答える
1

文字列を使用します:

$checks = "";

if(in_array('brand-id', get_field('type_of_work') )):  $checks .= "<a href='../../work/#brand-id'>Brand ID</a> | "; endif;

if(in_array('brand-id', get_field('type_of_work') )):  $checks .= "<a href='../../work/#print'>Print</a> |"; endif;

次に:$checksのsubstr():echo substr($checks, 0, -2);

于 2012-05-10T14:03:28.967 に答える
0
  1. テキストを直接エコーする代わりに、文字列変数に連結します
  2. trim($string, '|')後続パイプの取り外しに使用|(手動)
于 2012-05-10T14:02:21.957 に答える