如果自定义字段存在且具有特定值,则显示该字段

时间:2013-05-21 作者:fightstarr20

如果自定义字段存在并且值为apple,我将尝试显示帖子标题。。。

<?php if ( isset ( get_post_meta($post->ID, \'mycustomvalue\', true ) ) ) && if ( get_post_meta($post->ID, \'mycustomvalue\', true ) == \'apple\' ) : ?>

<?php the_title(); ?>
我的屏幕是白色的,有人发现我哪里出了问题吗?

2 个回复
SO网友:Rob Vermeer

你可以加入the_title() 改变输出。

在函数中。php粘贴此:

function my_change_title( $title, $post_id ) {
    $custom_title = get_post_meta($post_id, \'mycustomvalue\', true);

    if( isset($custom_title) && $custom_title == \'apple\' )
        return $custom_title;

    return $title;
}
add_filter(\'the_title\', \'my_change_title\', 10, 2);
在模板中,您可以使用<?php the_title(); ?>

要在模板中使用自定义值,请执行以下操作:

<?php $custom_value = get_post_meta(get_the_ID(), \'mycustomvalue\', true); ?>
<?php if( isset($custom_value) && $custom_value == "apple" ) : ?>
    Do something
<?php endif; ?>

SO网友:Core

因为,在代码中没有关闭IF条件。

我修改了你的代码,但没有测试。

<?PHP
$post_meta = get_post_meta(get_the_ID(), \'mycustomvalue\', true);
if( !empty( $post_meta ) && $post_meta == \'apple\'){
    the_title();
}
?>
注意:如果不想传递第三个参数,那么将以数组的形式获得结果,您必须从!empty( $post_meta )count( $post_meta ) > 0

结束

相关推荐