WordPress中有个自定义字段的功能,这个功能让WordPress自定义程度更高,一般来说我们自定义字段都是知道key再取值,如果我们连key都不知道,该如何得到对应的值呢?WordPress函数the_meta,它能将文章中的所有自定义字段全部输出,有了前几篇文章的学习,与the_date、the_time相同,看它的函数名我们就应该明白,这个函数是用在主循环中的。
函数描述
显示一个关于文章自定义字段的列表。
函数原型
the_meta函数位于wp-includes/post-template.php文件中。
复制
function the_meta() { if ( $keys = get_post_custom_keys() ) { echo "<ul class='post-meta'>\n"; foreach ( (array) $keys as $key ) { $keyt = trim( $key ); if ( is_protected_meta( $keyt, 'post' ) ) { continue; } $values = array_map( 'trim', get_post_custom_values( $key ) ); $value = implode( $values, ', ' ); $html = sprintf("<li><span class='post-meta-key'>%s</span> %s</li>\n",/* translators: %s: Post custom field name */ sprintf( _x( '%s:', 'Post custom field name' ), $key ), $value); /** * Filters the HTML output of the li element in the post custom fields list. * * @since 2.2.0 * * @param string $html The HTML output for the li element. * @param string $key Meta key. * @param string $value Meta value. */ echo apply_filters( 'the_meta_key', $html, $key, $value ); } echo "</ul>\n"; } }
用法
复制
<?php the_meta();?>
输出自定义字段的 ul/li 列表。效果如下图所示:
注意事项
the_meta函数只能使用在主循环中,并且会自动忽略下划线开始的自定义字段,如果你需要过滤可以使用 ‘the_meta_key’ 这个 filter 和 列表项目的 HTML 输出。
评论 (0)