web-dev-qa-db-ja.com

静的投稿ページのテンプレートファイルが読み込まれませんか?

私はこれを自分の投稿ページの中に持っています(管理パネルで設定:投稿ページ:ブログ)

Screenshot homepage setting

blog.php

   <?php
    /**
     * Template Name: Blog
     * @package WordPress
     * @subpackage Prominent
     * @since Prominent 1.0
     */
    get_header(); ?>
    <div class="shadow-top">
        <!-- Shadow at the top of the slider -->
    </div>
    <div id="intro2">
        <div class="container">
        </div><!-- .container -->
    </div><!-- #featured -->
    <div class="shadow-bottom">
        <!-- Shadow at the bottom of the slider -->
    </div>
    <div id="content">
        <div class="container">
            <div id="blog">
        <div class="container">
                <?php
                /* Run the loop to output the posts.
                 * If you want to overload this in a child theme then include a file
                 * called loop-index.php and that will be used instead.
                 */
                get_template_part( 'loop', 'index' );
                ?>
            <?php get_sidebar(); ?>
        </div><!-- .container -->
    </div><!-- #content-bottom -->
    <?php get_footer(); ?>

index.php

<?php
/**
 * The main template file.
 *
 * This is the most generic template file in a WordPress theme
 * and one of the two required files for a theme (the other being style.css).
 * It is used to display a page when nothing more specific matches a query.
 * E.g., it puts together the home page when no home.php file exists.
 * Learn more: http://codex.wordpress.org/Template_Hierarchy
 *
 * @package WordPress
 * @subpackage Starkers
 * @since Starkers 3.0
 */

get_header(); ?>

            <?php
            /* Run the loop to output the posts.
             * If you want to overload this in a child theme then include a file
             * called loop-index.php and that will be used instead.
             */
            get_template_part( 'loop', 'index' );
            ?>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

loop.php

<?php
/**
 * The loop that displays posts.
 *
 * The loop displays the posts and the post content.  See
 * http://codex.wordpress.org/The_Loop to understand it and
 * http://codex.wordpress.org/Template_Tags to understand
 * the tags used in it.
 *
 * This can be overridden in child themes with loop.php or
 * loop-template.php, where 'template' is the loop context
 * requested by a template. For example, loop-index.php would
 * be used if it exists and we ask for the loop with:
 * <code>get_template_part( 'loop', 'index' );</code>
 *
 * @package WordPress
 * @subpackage Starkers
 * @since Starkers 3.0
 */
?>

<?php /* Display navigation to next/previous pages when applicable */ ?>
<?php if ( $wp_query->max_num_pages > 1 ) : ?>
        <?php next_posts_link( __( '&larr; Older posts', 'twentyten' ) ); ?>
        <?php previous_posts_link( __( 'Newer posts &rarr;', 'twentyten' ) ); ?>
<?php endif; ?>

<?php /* If there are no posts to display, such as an empty archive page */ ?>
<?php if ( ! have_posts() ) : ?>
        <h1><?php _e( 'Not Found', 'twentyten' ); ?></h1>
        <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(); ?>

<?php endif; ?>

<?php /* Display the contents of static page Posts page */ ?>
<?php
if ( 'page' == get_option('show_on_front') && get_option('page_for_posts') && is_home() ) : the_post();
    $page_for_posts_id = get_option('page_for_posts');
    setup_postdata(get_page($page_for_posts_id));
?>
    <div id="post-<?php the_ID(); ?>" class="page">
        <div class="entry-content">
            <?php the_content(); ?>
            <?php edit_post_link('Edit', '', '', $page_for_posts_id); ?>
        </div>
    </div>
<?php
    rewind_posts();
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 in the Gallery category. */ ?>

    <?php if ( in_category( _x('gallery', 'gallery category slug', 'twentyten') ) ) : ?>
            <h2><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>
            <?php twentyten_posted_on(); ?>

<?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 ) );
    $total_images = count( $images );
    $image = array_shift( $images );
    $image_img_tag = wp_get_attachment_image( $image->ID, 'thumbnail' );
?>
                    <a href="<?php the_permalink(); ?>"><?php echo $image_img_tag; ?></a>

                <p><?php printf( __( 'This gallery contains <a %1$s>%2$s photos</a>.', 'twentyten' ),
                        'href="' . get_permalink() . '" title="' . sprintf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ) . '" rel="bookmark"',
                        $total_images
                    ); ?></p>

                <?php the_excerpt(); ?>
<?php endif; ?>

                <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>
                |
                <?php comments_popup_link( __( 'Leave a comment', 'twentyten' ), __( '1 Comment', 'twentyten' ), __( '% Comments', 'twentyten' ) ); ?>
                <?php edit_post_link( __( 'Edit', 'twentyten' ), '|', '' ); ?>

<?php /* How to display posts in the asides category */ ?>

    <?php elseif ( in_category( _x('asides', 'asides category slug', 'twentyten') ) ) : ?>

        <?php if ( is_archive() || is_search() ) : // Display excerpts for archives and search. ?>
            <?php the_excerpt(); ?>
        <?php else : ?>
            <?php the_content( __( 'Continue reading &rarr;', 'twentyten' ) ); ?>
        <?php endif; ?>

                <?php twentyten_posted_on(); ?>
                |
                <?php comments_popup_link( __( 'Leave a comment', 'twentyten' ), __( '1 Comment', 'twentyten' ), __( '% Comments', 'twentyten' ) ); ?>
                <?php edit_post_link( __( 'Edit', 'twentyten' ), '| ', '' ); ?>

<?php /* How to display all other posts. */ ?>

    <?php else : ?>
            <h2><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>
            <?php twentyten_posted_on(); ?>

    <?php if ( is_archive() || is_search() ) : // Only display excerpts for archives and search. ?>
            <?php the_excerpt(); ?>
    <?php else : ?>
            <?php the_content( __( 'Continue reading &rarr;', 'twentyten' ) ); ?>
            <?php wp_link_pages( array( 'before' => '' . __( 'Pages:', 'twentyten' ), 'after' => '' ) ); ?>
    <?php endif; ?>

                <?php if ( count( get_the_category() ) ) : ?>
                    <?php printf( __( 'Posted in %2$s', 'twentyten' ), 'entry-utility-prep entry-utility-prep-cat-links', get_the_category_list( ', ' ) ); ?>
                    |
                <?php endif; ?>
                <?php
                    $tags_list = get_the_tag_list( '', ', ' );
                    if ( $tags_list ):
                ?>
                    <?php printf( __( 'Tagged %2$s', 'twentyten' ), 'entry-utility-prep entry-utility-prep-tag-links', $tags_list ); ?>
                    |
                <?php endif; ?>
                <?php comments_popup_link( __( 'Leave a comment', 'twentyten' ), __( '1 Comment', 'twentyten' ), __( '% Comments', 'twentyten' ) ); ?>
                <?php edit_post_link( __( 'Edit', 'twentyten' ), '| ', '' ); ?>

        <?php comments_template( '', true ); ?>

    <?php endif; // This was the if statement that broke the loop into three parts based on categories. ?>

<?php endwhile; // End the loop. Whew. ?>

<?php /* Display navigation to next/previous pages when applicable */ ?>
<?php if (  $wp_query->max_num_pages > 1 ) : ?>
                <?php next_posts_link( __( '&larr; Older posts', 'twentyten' ) ); ?>
                <?php previous_posts_link( __( 'Newer posts &rarr;', 'twentyten' ) ); ?>
<?php endif; ?>

blog.php nothingの中のコードをどれだけ変更しても問題ありません(すべてを削除しても何も変わりません)。

Wordpressのループを誤解していませんか。

3
janoChen

WP管理画面の右上にある[ヘルプ]ボタンを忘れないでください。

ヘルプはコーデックスの Settings Reading SubPanel ページを参照しています。

投稿ページ - ドロップダウンボックスで、投稿が含まれるページの名前を選択します。ここでページを選択しないと、投稿はカテゴリ、カレンダー、アーカイブリンクなどの他のナビゲーション機能を介してのみアクセス可能になります。選択したページがパスワードで保護されている場合でも、投稿ページを表示するときに訪問者はパスワードの入力を求められません。また、ページに割り当てられたテンプレートは無視され、テーマの index.php (または、存在する場合は home.php )が投稿の表示を制御します。

つまり、そのドロップダウンで選択したページはプレースホルダに過ぎず、そのコンテンツとテンプレートは完全に無視されます(タイトルのみが使用されます)。代わりにhome.phpまたはindex.phpを使用してください。

静的フロントページの作成 も参照してください。

7
user2370

あなたがpageをposts pageに割り当てるときに正しいこと(テンプレート階層がこれらの部分で乱雑になる)を覚えているなら、そのテンプレートは home page template branch のために無視されます。

それでhome.php(もしあれば)かindex.phpを編集してみてください。

4
Rarst