创世纪 - 如何使用不同的模板制作帖子格式'画廊&#39 ;?

时间:2015-03-05 08:06:28

标签: wordpress genesis

在我的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
}

有人有解决方案吗?

谢谢!

1 个答案:

答案 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;