在我的Genesis儿童主题中,我有两种不同的帖子格式(不是类型!):标准和图库。
当用户选择图库时,他会通过高级自定义字段插件获得其他字段。我知道需要更改Post格式“Gallery”的模板,以便从ACF插件中提取数据。
我怎样才能用创世纪做到这一点?
我尝试过:
remove_action( 'genesis_loop', 'genesis_do_loop' );
add_action( 'genesis_loop', 'loop_helper' );
function loop_helper() {
if ( has_post_format( 'gallery' )) {
echo 'this is the gallery format';
} else {
genesis_standard_loop();
}
}
但这不起作用,因为它只是显示“这是图库格式”而没有别的。我正在寻找类似的东西:
if ( has_post_format( 'gallery' )) {
get_template_part(‘content’,get_post_format());
} else {
show standard post
}
有人有解决方案吗?
谢谢!
答案 0 :(得分:1)
我自己解决了这个问题似乎工作正常:
<强>的functions.php:强>
remove_action( 'genesis_entry_content', 'genesis_do_post_content' );
add_action('genesis_entry_content', 'custom_entry_content');
function custom_entry_content() {
if (get_post_format() == 'gallery' ) {
get_template_part('content',get_post_format());
} else {
the_content();
}
}//function
内容-gallery.php:强>
<?php
// check if the repeater field has rows of data
if( have_rows('gallery_block') ):
// loop through the rows of data
while ( have_rows('gallery_block') ) : the_row();
?>
<div class="gallery-block-wrapper">
<div class="gallery-block-img">
<img src="<?php the_sub_field( 'gallery_block_picture' ); ?>" />
</div>
<div class="gallery-block-headline">
<?php the_sub_field( 'gallery_block_headline' ); ?>
</div>
<div class="gallery-block-text">
<?php the_sub_field( 'gallery_block_content' ); ?>
</div>
</div><!-- gallery-block-wrapper -->
<?
endwhile;
endif;