POST_CLASS输出在错误的区域?

时间:2012-07-26 作者:mike

在我的函数文件中尝试此操作。这个函数实际上比我展示的要多得多,但这是最重要的部分,它被搞砸了。


function xyz_loop() {
        $defaults = array (
            \'before\' => \'article id="post-\' .get_the_ID(). \'"\' .post_class(\'clearfix\'). \'role="main">\',
            \'after\' => \'/article>\',
        );

$args = wp_parse_args( $args, $defaults ); extract( $args, EXTR_SKIP ); echo $before; echo \'doing stuff here\'; echo $after;}
问题是post\\u类在文章容器之前输出post类,而不是在文章容器内部。

我可以不这样使用post\\u类吗?

2 个回复
SO网友:mrwweb

post_class() 这就是你的问题所在。

抄本:

如果您希望返回post类而不是回显,那么可以使用get_post_class().

所以只要这样做:

$the_post_classes = get_post_class( \'clearfix\' );
$the_post_class_string = \'\';
foreach( $the_post_classes as $post_class ) {
    $the_post_class_string .= $post_class . \' \';
}

$defaults = array (
    \'before\' => \'article id="post-\' .get_the_ID(). \'"\' .$the_post_class_string. \'role="main">\',
    // etc...
更新:抱歉。我忘了它返回的是数组而不是字符串。您只需在输出结果之前对其进行迭代。以上代码已更新并测试。

SO网友:leogopal

短一点,简单一点:

implode (\' \', get_post_class( \'clearfix\' ) )

这只会使它变短,并允许您在课程结束时摆脱烦人的空间。

结束

相关推荐