我觉得这应该是一个很容易找到的答案,但到目前为止我还没有找到任何答案。
因此genesis循环会自动将帖子包装在一个div中,如下所示:
<div class="post-4006 post type-post status-publish
format-standard hentry category-blog tag-foia tag-nmb entry">...</div>
我需要更改标记,为每篇文章添加背景图像。我正在尝试拍摄特色图片并将其应用于div背景,因此我需要我的帖子标记
<div style="url_to_post_thumbnail" class="post-4006 post type-post status-publish
format-standard hentry category-blog tag-foia tag-nmb entry">...</div>
我可以很好地完成逻辑,但我不知道要修改post包装器的过滤器是什么。我似乎找不到它。
SO网友:vicdilu
今天,我遇到了一个类似的问题,这对我起到了作用:
/**
* Add and extra class to the entry-content div
*
*/
function vdl_entry_content_extraclass( $attributes ) {
$attributes[\'class\'] = $attributes[\'class\']. \' my-custom-class\';
return $attributes;
}
add_filter( \'genesis_attr_entry-content\', \'vdl_entry_content_extraclass\' );
在我的例子中,我将此代码添加到我的单个投资组合中。php模板,因为我只想在该模板中添加该类。如果在函数中粘贴此代码。php更改将应用所有模板。您还可以在函数中使用条件标记来决定在何处应用此更改。
由于我本周才开始讲《创世纪》,这是我的第一个儿童主题,我不知道这是否是正确的方式,但我希望它会对你有所帮助。
SO网友:Charles Clarkson
该标记硬编码到genesis_legacy_loop()
Genesis功能。没有提供用于向该标记添加属性的过滤器。
printf( \'<div class="%s">\', join( \' \', get_post_class() ) );
您可以通过复制
genesis_legacy_loop()
函数到a
template file (如
single.php
) 在您的孩子主题中。然后为背景图像添加逻辑。
$loop_counter = 0;
if ( have_posts() ) : while ( have_posts() ) : the_post();
do_action( \'genesis_before_post\' );
printf( \'<div class="%s">\', join( \' \', get_post_class() ) );
do_action( \'genesis_before_post_title\' );
do_action( \'genesis_post_title\' );
do_action( \'genesis_after_post_title\' );
do_action( \'genesis_before_post_content\' );
echo \'<div class="entry-content">\';
do_action( \'genesis_post_content\' );
echo \'</div>\'; //* end .entry-content
do_action( \'genesis_after_post_content\' );
echo \'</div>\'; //* end .entry
do_action( \'genesis_after_post\' );
$loop_counter++;
endwhile; //* end of one post
do_action( \'genesis_after_endwhile\' );
else : //* if no posts exist
do_action( \'genesis_loop_else\' );
endif; //* end loop
通过将所有常规genesis操作保留在此循环中,您可以允许genesis中内置的所有功能正常运行,并可以根据您的喜好更改标记。