繁体   English   中英

检查并添加到帖子内容

[英]Check and add to the post content

如何检查帖子是否具有元数据并按功能显示?

我有职位类型的投资组合和元字段(_wi_next-script-part和_wi_prev-script-part)

function wi_next_prev_part_links($content) {
global $wp_query;
$postid = $wp_query->post->ID;

if ( is_singular( 'portfolio' ) ) {
    if ( get_post_meta( $postid, '_wi_prev-script-part', true ) ) {
        $prev_script_part = get_post_meta( $postid, '_wi_prev-script-part', true );
        $content .= '<a href="'. get_the_permalink($prev_script_part) .'" class="">&larr; Prev Part Link</a>';;
    }
    if ( get_post_meta( $postid, '_wi_next-script-part', true ) ) {
        $next_script_part = get_post_meta( $postid, '_wi_next-script-part', true );
        $content .= '<a href="'. get_the_permalink($next_script_part) .'" class="">Next Part Link &rarr;</a>';
    }
}
return $content;
}
add_filter ('the_content', 'wi_next_prev_part_links', 0);

有两种方法可以做到这一点。 一种是检查元密钥的值,另一种是检查元密钥是否存在。

检查值

get_post_meta文档中所述,如果您尝试访问的元密钥不存在,该函数将返回一个空字符串或一个空数组。 由于空字符串和空数组都是虚假的,因此您可以使用简单的if语句来检查元键是否具有有效的元数据,如下所示:

if ( get_post_meta( $postid, '_wi_prev-script-part', true ) )
{
    //Do something
}

检查钥匙

但是,在某些情况下,空字符串被视为有效值。 如果您的代码将空字符串视为理想值,则需要检查,以了解元密钥本身的存在。 我们可以使用get_post_custom_keys函数来做到这一点:

if( in_array( '_wi_prev-script-part', get_post_custom_keys($postid) ) )
{
    //Do something
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM