让代码更简单

WordPress函数the_meta输出文章所有自定义字段

重要:本文最后更新于2018-12-24 08:48:23,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

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 列表。效果如下图所示:

WordPress函数the_meta输出文章所有自定义字段

WordPress函数the_meta输出文章所有自定义字段

注意事项

the_meta函数只能使用在主循环中,并且会自动忽略下划线开始的自定义字段,如果你需要过滤可以使用 ‘the_meta_key’ 这个 filter 和 列表项目的 HTML 输出。

感觉很棒!可以赞赏支持我哟~

1 打赏

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐