我正在使用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);
?安妮想我该怎么做?
$links = array();
if(in_array('brand-id', get_field('type_of_work') )) $links[] = "<a href='../../work/#brand-id'>Brand ID</a>";
....
echo implode(" | ",$links);
使用字符串:
$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;
then: substr(( on $checks: echo substr($checks, 0, -2);
- 与其直接回显文本,不如将其连接到字符串变量
- 使用
trim($string, '|')
删除尾随管道|
(手动(