回路内部:
echo implode (\', \', get_post_meta($post->ID, \'typeofpub\', true) ? : array() );
这将打印所有逗号分隔的“typeofpub”。
如果您想在打印时做一些更高级的事情,例如用一些html包装它,一个好方法是在函数中创建自己的函数。php,谎言:
function typeofpub( $post_id = 0 ) {
if ( empty( $post_id ) ) {
global $post;
$post_id = isset( $post->ID ) ? $post->ID : 0;
}
if ( empty( $post_id ) ) return;
$types = (array) get_post_meta($post->ID, \'typeofpub\', true);
if ( ! empty($types) ) {
echo \'<ul class="types_container">\';
foreach( $types as $type) {
echo \'<li class="type-\' . sanitize_title_with_dashes($type) . \'">\';
echo ucwords($type);
echo \'</li>\';
}
echo \'</ul>\';
}
}
然后在循环中简单地使用它,就像这样:
typeofpub();
您可以根据需要更改html输出,在我的示例中,将打印无序列表,其中ul
标记具有类types_container
而且每li
项具有类type-{$type}
e、 g.对于“Sport”类型,输出如下:
<li class="type-sport">Sport</li>
该函数也可以在循环外部使用,将post id作为param传递,例如。
typeofpub( 10 );