检查并添加到帖子内容

时间:2017-07-30 18:19:30

标签: php wordpress function

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

我有帖子类型的投资组合和元字段(_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);

1 个答案:

答案 0 :(得分:1)

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

检查值

get_post_meta documentation中所述,如果您尝试访问的元键不存在,函数将返回空字符串或空数组。由于空字符串和空数组都是假的,您可以使用简单的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
}