如何在POST_CLASS中添加类?

时间:2018-01-26 作者:Antonino Lattene

在下面的代码中,我想删除包装所有代码并将其类传递给article的div,但我不知道如何在post\\u类中传递变量$termString。

有人能帮我吗?

<div class="<?php echo $termsString;?>">
    <article id="post-<?php the_ID(); ?>" <?php post_class(\'card\'); ?>>
        <?php echo get_the_post_thumbnail($post_id, \'large\', array(\'class\' => \'img-fluid card-img-top\')); ?>
        <div class="overlay"></div>
        <div class="card-body text-right">
            <h6 class="card-title"><?php the_title(); ?></h6>
            <p>Text description for this item</p>
        </div>
        <a class="card-link" href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"></a>  
    </article>
</div>
所以,我现在有了这个,这正是我所期望的:

<article id="post-<?php the_ID(); ?>" <?php post_class(\'card grid-item wow fadeInUp \' . $termsString); ?>>
但我还需要向这些类添加另一个来自自定义字段的类,该字段名为“columns”,值为“col-12”。

这就是我正在尝试的,但我认为有一些语法错误,我从Firefox检查器中看到的结果是“Array”,而不是“columns”的值:

<?php $custom_values = get_post_meta($post->ID, \'columns\', true); ?>
                    <?php
                        $classes = array(
                            \'card\',
                            \'grid-item\',
                            \'wow\',
                            \'fadeInUp\',
                            $termsString,
                            $custom_values
                        );
                    ?>
                <article id="post-<?php the_ID(); ?>" <?php post_class( $classes ); ?>>
Edit: get\\u post\\u meta需要第三个参数,“false”返回数组(默认),“true”仅返回第一个结果(不作为数组)。现在它正在工作!非常感谢。

2 个回复
SO网友:Johansson

这个post_class 函数也接受类数组。您可以按如下方式将它们传递给函数:

$classes = [
    \'card\',
    \'grid-item\',
    \'wow\',
    \'fadeInUp\',
    $termsString
];

<div <?php post_class ( $classes ); ?>>
   ...
</div>
您可以将自定义字段的值存储在变量中,然后像其他值一样将其传递给函数。

SO网友:swissspidy

你应该可以post_class( \'card \' . $termString ).

函数接受数组和字符串,请参见https://developer.wordpress.org/reference/functions/post_class/

如果愿意,还可以使用post\\u类过滤器添加更多类。

结束

相关推荐