将多个自定义字段值合并为单个值

时间:2013-07-23 作者:Xav

我相信这是一个相当基本的问题,但我似乎无法正确回答。

我的自定义帖子类型中有多个地址的自定义字段值,我想将它们保存为单个值或数组,以便可以在一次调用中显示它们,而不是多次调用。我还想输出逗号分隔的地址,但首先需要preg替换用户在wordpress后端输入的任何逗号,这样我就不会以“10 high street,,London,,W11 1TT”等结尾

我目前有:

<?php global $post;
$address_name = get_post_meta( $post->ID, \'_mfl_entry_address_name\', true );
$address_street = get_post_meta( $post->ID, \'_mfl_entry_address_street\', true );
$address_line_2 = get_post_meta( $post->ID, \'_mfl_entry_address_line_2\', true );
$address_line_3 = get_post_meta( $post->ID, \'_mfl_entry_address_line_3\', true );
$address_postcode = get_post_meta( $post->ID, \'_mfl_entry_address_postcode\', true );
?>
我如何将这些值放入一个名为“address”的值中,清除用户添加的任何逗号,然后输出地址,每个值用逗号分隔,最后一个值除外?

谢谢你的帮助

1 个回复
最合适的回答,由SO网友:GhostToast 整理而成

已更新

    <?php global $post;
    $address_name = str_replace(
        \',\', 
        \'\',
         get_post_meta( $post->ID, \'_mfl_entry_address_name\', true )
    );

    $address_street = str_replace(
        \',\', 
        \'\',
         get_post_meta( $post->ID, \'_mfl_entry_address_street\', true )
    );

    $address_line_2 = str_replace(
        \',\', 
        \'\',
         get_post_meta( $post->ID, \'_mfl_entry_address_line_2\', true )
    );

    $address_line_3 = str_replace(
        \',\', 
        \'\',
         get_post_meta( $post->ID, \'_mfl_entry_address_line_3\', true )
    );

    $address_postcode = str_replace(
        \',\', 
        \'\',
         get_post_meta( $post->ID, \'_mfl_entry_address_postcode\', true )
    );

    $full_address = array(
        $address_name, 
        $address_street, 
        $address_line_2,
        $address_line_3,
        $address_postcode
    );

    $output = \'\';
    $glue = \',\';
    foreach($full_address as $value){
        if(!empty($value)){
            $output .= $value.$glue;
        }
    }
    $output = trim($output, $glue);

    echo $output;
    ?>
如果有效,请告诉我。

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在