在静态页面上显示特色帖子网格(公报)

时间:2016-08-19 作者:Jarod Thornton

我使用的是Gazette主题,当首页设置为显示最新帖子时,它有一个支持jet pack的特色帖子网格。

我想使用静态页面而不是最近的帖子,但要保留特色帖子网格。

<小时>

UPDATE

在社区的一点道义支持下,我终于明白了这一点

链接到答案-Display Featured Posts Grid on Static Page (Gazette)

演示:https://gazettedemo.wordpress.com/

资料来源:https://public-api.wordpress.com/rest/v1/themes/download/gazette.zip

Code parts associated with the featured posts

@ 指数php

<?php
    if ( is_home() ) {
        // Include the featured content template.
        get_template_part( \'featured-content\' );
    }
?>

    <?php if ( have_posts() ) : ?>

        <?php /* Start the Loop */ ?>
        <?php while ( have_posts() ) : the_post(); ?>

            <?php
                get_template_part( \'content\', get_post_format() );
            ?>

        <?php endwhile; ?>

        <?php the_posts_navigation(); ?>

    <?php else : ?>

        <?php get_template_part( \'content\', \'none\' ); ?>

    <?php endif; ?>
@功能。php第197行

wp_enqueue_script( \'gazette-featured-content\', 
get_template_directory_uri() . \'/js/featured-content.js\', 
array( \'jquery\' ), \'20150507\', true );
@特色内容。php

$featured_posts = gazette_get_featured_posts();
if ( empty( $featured_posts ) ) {
    return;
}
?>
    <?php
        foreach ( $featured_posts as $post ) {
            setup_postdata( $post );

             // Include the featured content template.
            get_template_part( \'content\', \'featured-post\' );
        }

        wp_reset_postdata();
    ?>
@内容特色帖子。php

/**
 * The template for displaying featured posts on the front page
 */
<?php
    // Output the featured image.
    if ( has_post_thumbnail() ) {
        the_post_thumbnail( \'gazette-featured-content-thumbnail\' );
    }
?>
@公司/jetpack。php第22行

add_theme_support( \'featured-content\', array(
    \'filter\'      => \'gazette_get_featured_posts\',
    \'description\' => __( \'Omitted\', \'gazette\' ),
    \'max_posts\'   => 6,
) );
@js/特色内容。js 24号线

var featuredContent, header, primary;
featuredContent = $( \'#featured-content\' );
header = $( \'#masthead\' );
primary = $( \'#primary\' );

if ( ! featuredContent.length ) {
    return;
}
@js/标题。js 24号线

function headerStyle() {
    var featuredContent, featuredContentHeight;

    featuredContent = $( \'#featured-content\' );
    featuredContentHeight = 0;
    if ( featuredContent.length ) {
        featuredContentHeight = featuredContent.outerHeight();
    }

    if ( $( \'.site-branding\' ).outerWidth() === 0 ) {
        $( \'body\' ).addClass( \'no-branding\' );
    } else {
        $( \'body\' ).removeClass( \'no-branding\' );
    }
这些都是我找到的关于特色帖子网格布局的参考资料。

如何修改以在主页设置中将网格显示为静态页面?

Notes

我将此添加到页面。php,它确实显示在静态源代码中,但只是不显示。

if ( is_page(35) ) {
    // Include the featured content template.
    get_template_part( \'featured-content\' );
}

2 个回复
SO网友:Jarod Thornton

答对 了我在页面中添加了特色内容模板(最初是由@user53340建议的,后来由@user53340建议的)。php提供了一个条件,使特色网格只显示在我指定的页面上。

Add to page.php

if ( is_page(ID) ) {
    // Include the featured content template.
    get_template_part( \'featured-content\' );
}
在将首页显示更改为静态页面后,我注意到特色内容正在源代码中输出,但它没有显示在页面本身上。

我意识到身体类别决定了这是否有效。我所要做的就是添加blog 到该页的body类。首页显示将正文类设置为page 对于静态页面和blog 对于帖子页面。

使用下面的代码,我附加了blog 类到正文。

function add_blog_to_body_class($classes) {
    $classes[] = \'blog\';
        return $classes;
}
add_filter(\'body_class\',\'add_blog_to_body_class\');
我可以设置我的静态页面;将我的特色帖子置于网格中:D

SO网友:user53340

如果我理解你的问题,老实说,有点模糊,你应该能够改变,如果( is_home() ) 至if( is_front_page() ) 这将在静态首页(即主页)而不是博客页面上显示“特色内容”模板部分。在Wordpress中is_home = 博客主页和is_front_page = 静态首页。有点令人困惑,但如果你认为WordPress最初是为写博客而设计的,那么它就很有道理了。是否解释了\\u homehere 是否解释了\\u首页here

编辑:如果您希望特色网格显示在任何地方,您应该能够删除If语句,使其只显示get_template_part( \'featured-content\' ); 这是假设我正确理解了您,并且基于您提供的有限代码。希望这能有所帮助。

相关推荐

WooCommerce:Pre_Get_Posts中的复杂查询

我想在获取产品时添加一个复杂的过滤。我有一些产品,其中一些链接到自定义帖子类型</此自定义帖子类型有一个转发器字段根据cookie的不同,我应该只获取在此转发器字段中具有该值的产品,我知道我可以使用:add_filter( \'pre_get_posts\', \'fwp_archive_per_page\' ); 我知道我可以像这样设置额外的元查询:$query->set( \'meta_query\', array( \'relation\' => \'