Single post as homepage?

时间:2011-12-30 作者:user6719

我想设置一个帖子作为我的主页。

我有一个摄影师的网站。

有一些画廊(婚礼、肖像等)。每个图库都是带有附加图像的wordpress帖子。

帖子本身除了附加的图片外没有其他内容,然后我使用wordpress[图库]快捷码以格式化的方式显示附件。

我的主菜单包含指向这些单贴“图库”的链接。

这工作得很好,除了我还希望主页也是一个画廊。我应该补充的是,画廊帖子的风格与我的静态页面(关于、联系等)非常不同。

基本上,我想将主页设置为单个帖子。现在我意识到这是不可能的,所以我需要采取额外的措施。

我想我需要创建一个与单个匹配的页面模板。php并将其用于主页?

我想知道这里最优雅的解决方案是什么。

2 个回复
SO网友:dgwyer

不确定这是否是最优雅的方式,但最简单的方法可能是创建一个显示单个页面的短代码,然后将该页面设置为显示为首页。

e、 g。http://wordpress.org/extend/plugins/post-content-shortcodes/

SO网友:Ole Henrik Skogstrøm

我相信您的做法是正确的,我的建议是为2010年创建一个自定义Paga模板:

在您的二十个主题文件夹中创建一个文件“my\\u template.php”(文件名由您决定)

将此粘贴到my\\u模板中。php:

<?php   /*
        Template Name: Gallery Homepage 
    */

    ?>
<?php get_header(); ?>

    <div id="container">
        <div id="content" role="main">


    <?php /* Display navigation to next/previous pages when applicable */ ?>
    <?php if ( $wp_query->max_num_pages > 1 ) : ?>
        <div id="nav-above" class="navigation">
            <div class="nav-previous"><?php next_posts_link( __( \'<span class="meta-nav">&larr;</span> Older posts\', \'twentyten\' ) ); ?></div>
            <div class="nav-next"><?php previous_posts_link( __( \'Newer posts <span class="meta-nav">&rarr;</span>\', \'twentyten\' ) ); ?></div>
        </div><!-- #nav-above -->
    <?php endif; ?>

    <?php /* If there are no posts to display, such as an empty archive page */ ?>
    <?php if ( ! have_posts() ) : ?>
        <div id="post-0" class="post error404 not-found">
            <h1 class="entry-title"><?php _e( \'Not Found\', \'twentyten\' ); ?></h1>
            <div class="entry-content">
                <p><?php _e( \'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.\', \'twentyten\' ); ?></p>
                <?php get_search_form(); ?>
            </div><!-- .entry-content -->
        </div><!-- #post-0 -->
    <?php endif; ?>

    <?php
        /* Start the Loop.
         *
         * In Twenty Ten we use the same loop in multiple contexts.
         * It is broken into three main parts: when we\'re displaying
         * posts that are in the gallery category, when we\'re displaying
         * posts in the asides category, and finally all other posts.
         *
         * Additionally, we sometimes check for whether we are on an
         * archive page, a search page, etc., allowing for small differences
         * in the loop on each template without actually duplicating
         * the rest of the loop that is shared.
         *
         * Without further ado, the loop:
         */ ?>
    <?php while ( have_posts() ) : the_post(); ?>

    <?php /* How to display posts of the Gallery format. The gallery category is the old way. */ ?>

        <?php if ( ( function_exists( \'get_post_format\' ) && \'gallery\' == get_post_format( $post->ID ) ) || in_category( _x( \'gallery\', \'gallery category slug\', \'twentyten\' ) ) ) : ?>
            <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
                <h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( \'Permalink to %s\', \'twentyten\' ), the_title_attribute( \'echo=0\' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2>

                <div class="entry-meta">
                    <?php twentyten_posted_on(); ?>
                </div><!-- .entry-meta -->

                <div class="entry-content">
    <?php if ( post_password_required() ) : ?>
                    <?php the_content(); ?>
    <?php else : ?>
                    <?php
                        $images = get_children( array( \'post_parent\' => $post->ID, \'post_type\' => \'attachment\', \'post_mime_type\' => \'image\', \'orderby\' => \'menu_order\', \'order\' => \'ASC\', \'numberposts\' => 999 ) );
                        if ( $images ) :
                            $total_images = count( $images );
                            $image = array_shift( $images );
                            $image_img_tag = wp_get_attachment_image( $image->ID, \'thumbnail\' );
                    ?>
                            <div class="gallery-thumb">
                                <a class="size-thumbnail" href="<?php the_permalink(); ?>"><?php echo $image_img_tag; ?></a>
                            </div><!-- .gallery-thumb -->
                            <p><em><?php printf( _n( \'This gallery contains <a %1$s>%2$s photo</a>.\', \'This gallery contains <a %1$s>%2$s photos</a>.\', $total_images, \'twentyten\' ),
                                    \'href="\' . get_permalink() . \'" title="\' . sprintf( esc_attr__( \'Permalink to %s\', \'twentyten\' ), the_title_attribute( \'echo=0\' ) ) . \'" rel="bookmark"\',
                                    number_format_i18n( $total_images )
                                ); ?></em></p>
                    <?php endif; ?>
                            <?php the_excerpt(); ?>
    <?php endif; ?>
                </div><!-- .entry-content -->

                <div class="entry-utility">
                <?php if ( function_exists( \'get_post_format\' ) && \'gallery\' == get_post_format( $post->ID ) ) : ?>
                    <a href="<?php echo get_post_format_link( \'gallery\' ); ?>" title="<?php esc_attr_e( \'View Galleries\', \'twentyten\' ); ?>"><?php _e( \'More Galleries\', \'twentyten\' ); ?></a>
                    <span class="meta-sep">|</span>
                <?php elseif ( in_category( _x( \'gallery\', \'gallery category slug\', \'twentyten\' ) ) ) : ?>
                    <a href="<?php echo get_term_link( _x( \'gallery\', \'gallery category slug\', \'twentyten\' ), \'category\' ); ?>" title="<?php esc_attr_e( \'View posts in the Gallery category\', \'twentyten\' ); ?>"><?php _e( \'More Galleries\', \'twentyten\' ); ?></a>
                    <span class="meta-sep">|</span>
                <?php endif; ?>
                    <span class="comments-link"><?php comments_popup_link( __( \'Leave a comment\', \'twentyten\' ), __( \'1 Comment\', \'twentyten\' ), __( \'% Comments\', \'twentyten\' ) ); ?></span>
                    <?php edit_post_link( __( \'Edit\', \'twentyten\' ), \'<span class="meta-sep">|</span> <span class="edit-link">\', \'</span>\' ); ?>
                </div><!-- .entry-utility -->
            </div><!-- #post-## -->
    <?php endif; ?>
<?php endwhile; // End the loop. Whew. ?>


        </div><!-- #content -->
    </div><!-- #container -->
保存此文件并转到wordpress管理站点。

然后创建一个新页面,写一个标题,不要在编辑框中填写任何其他内容。

然后(重要信息)在右侧边栏名为“页面属性”的菜单框中选择页面模板“Gallery Homepage”(如果看不到此菜单框,则需要通过页面顶部的屏幕选项选项卡激活它)。

转到“您的选项”,然后选择“您的库主页”作为默认主页:)

如果这不起作用,请给我一些反馈和有关您使用的主题的更多信息。

结束

相关推荐

Can posts have parents?

帖子应该有家长吗?如果是这样的话,一个帖子有家长意味着什么?此外,如果对有父母的帖子有一些限制,那么在哪里强制执行呢?在DB中我看不到。