在我的函数文件中尝试此操作。这个函数实际上比我展示的要多得多,但这是最重要的部分,它被搞砸了。
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类吗?
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...
更新:抱歉。我忘了它返回的是数组而不是字符串。您只需在输出结果之前对其进行迭代。以上代码已更新并测试。