フォーラムへの返信

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック投稿者 euureka

    (@euureka)

    皆様

    返事が遅くなりすみません。

    >gatespaceさん

    たったしかに。。。
    なんというミスをおかしていたのでしょうか。gatespaceさんの指摘通りにしたところ、先頭に固定表示で繰り返し表示がない機能を実現できました。本当にありがとうございます。

    >nobita

    そのような方法もあったのですね!やはり選択肢は沢山あると、より多くの皆さんが将来救われると思います。

    兎にも角にも、修行が足りませんでした。けれど、とても勉強になりました。引き続き精進します。
    皆様、ありがとうございました。

    トピック投稿者 euureka

    (@euureka)

    皆様

    一度解決したと思ったのですが、どうにもうまくいきませんので、より詳しくコードなども記述してみます。

    現在、get_postsで取得して表示の方法を試しています。

    現在、次のphpがあります。
    ・functions.php
    ・content.php
    ・index.php

    functions.phpは次のコードを記載しています。

    <?php
    function pre_get_posts_functions( $wp_query ) {
    	if (!is_admin()) { // 管理画面以外で
    		// フロントページのメインクエリでは先頭に固定表示を含めない
    		if ( $wp_query->is_main_query() && $wp_query->is_home() ) {
    			$wp_query->set( 'post__not_in', get_option( 'sticky_posts' ) );
    		}
    	}
    }
    add_action( 'pre_get_posts', 'pre_get_posts_functions' );
    ?>

    次に、index.phpに次のコードを記載しています。

    <?php get_header(); ?>
    
    <?php $sticky_posts_arg = array(
    	'posts_per_page'    => -1,
    	'post__in' => get_option( 'sticky_posts' ),
    	'ignore_sticky_posts' => 1
    );
    $sticky_query = new WP_Query( $sticky_posts_arg );
    
    if ( $sticky_query->have_posts() ) {
    	while ( $sticky_query->have_posts() ) :
    		$sticky_query->the_post();
    		// ここで投稿を表示
    		get_template_part( 'content' ); // Twenty Elevenと同じです。
    	endwhile;
    }
    wp_reset_postdata(); // リセット ?>
    
    <?php get_footer(); ?>

    そして、content.phpには次のコードを記載しています。

    <div id="content">
        <?php if (have_posts()) : ?>
            <?php while (have_posts()) : the_post(); ?>
    
    <div align="center" class="image">
                        <?php the_content('続きを読む'); ?>
    </div>
                <?php endwhile; ?>
    <?php else : ?>
    <div align="center">No ART TO SEE YET</div>
                <?php endif; ?>
    
     </div>

    functions.phpはうまく働いて、「先頭に固定表示」の記事を消すことができました。しかし、index.phpに記載したコードが上手く動かず、「先頭に固定表示」の投稿を取得できずにいます。

    ちなみに、今私が作ろうとしているサイトはとても簡易的なブログで、作品を文字もタイトルもなしにただ投稿できるサイトです。ですから、コードは非常に単純にしています。

    何が原因で動かないのかで苦戦しております。
    再三となりますが、アドバイスをいただければと思います。

    トピック投稿者 euureka

    (@euureka)

    皆様

    的確なアドバイスをあっという間にいただきありがとうございます。
    解決策が豊富にあるので、全てを試して、私のサイトに合う一番良い方法を採用したいと思います。

    今回のこの疑問は、ネット上では意外にまだ提示されていませんでしたので、この投稿が今後の方々の役に立てれば幸いです。

    何より、素晴らしい解決策を提示していただいたgatespaceさんとnobitaさんに大感謝です。

3件の返信を表示中 - 1 - 3件目 (全3件中)