フォーラムへの返信

15件の返信を表示中 - 1 - 15件目 (全15件中)
  • フォーラム: 使い方全般
    返信が含まれるトピック: get_query_var('paged')でページ数と投稿数があわない
    トピック投稿者 mclcl

    (@mclcl)

    >gatespace様

    function.phpに頂いたコードを記述してloop.phpから同様の記述を削除しました。
    うまく行きました!

    ありがとうございます!スッキリしました!

    フォーラム: 使い方全般
    返信が含まれるトピック: get_query_var('paged')でページ数と投稿数があわない
    トピック投稿者 mclcl

    (@mclcl)

    色々調べてみてloop.phpの最初の部分を以下に書き換えました。

    <?php $paged = get_query_var('paged') ? get_query_var('paged') : 1; ?>
    <?php query_posts( array(
        'post_type' => array('post', 'page'),
    	'posts_per_page' => 3,
    	'orderby' => 'date',
        'paged' => $paged
    	));
    ?>
    <?php while ( have_posts() ) : the_post(); ?>

    posts_per_pageの数はダッシュボードで設定した数と同じ、もしくは多くすると問題なくいけました。

    ただ、「http://example.com/?paged=2」の数字部分を3にした場合、空ページが出てきますが、ページネーションには表示されないですし、「posts_per_pageでの設定の数=ダッシュボードで設定した数」で設定すれば問題なさそうです。

    原因が全く分かりませんが、ご協力いただいたhissy様、gatespace様ありがとうございました。

    もっと勉強して、今回のエラーの原因がわかるようになるまで頑張ります。

    フォーラム: 使い方全般
    返信が含まれるトピック: get_query_var('paged')でページ数と投稿数があわない
    トピック投稿者 mclcl

    (@mclcl)

    >gatespace様

    パーマリンク設定をデフォルトのhttp://example.com/?p=123にしているんですが、
    固定ページは「http://example.com/?page_id=123」と表示されます。
    (http://example.com/hogehoge/と同じ解釈でよろしいですか?)

    フロントページの表示は「最新の投稿」を設定しております。

    フォーラム: 使い方全般
    返信が含まれるトピック: get_query_var('paged')でページ数と投稿数があわない
    トピック投稿者 mclcl

    (@mclcl)

    >gatespace様

    category.php、archive.phpなどは削除しており、index.php、404.phpのみです。

    index.phpなんですが、条件分岐を利用して

    <?php get_header(); ?>
    <?php
    //シングルの場合
    if( is_single() ) {
    	get_template_part( 'loop', 'single' );
    }
    //ページの場合
    elseif( is_page() ) {
    	get_template_part( 'loop', 'page' );
    }
    //その他の場合
    else {
    	get_template_part( 'loop', 'index' );
    }
    ?>
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

    となっています。loop.php、loop-single.php、loop-page.phpがあります。

    なので「固定ページ」自体はindex.phpで条件分岐でloop-page.phpを表示させています。

    うまく言えず申し訳ございません。

    フォーラム: 使い方全般
    返信が含まれるトピック: get_query_var('paged')でページ数と投稿数があわない
    トピック投稿者 mclcl

    (@mclcl)

    >gatespace様

    素人なのでこれでうまく伝わるかどうか不安ですが。

    「index.php」には

    <?php get_header(); ?>
    <?php get_template_part( ‘loop’, ‘index’ );?>
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

    のみです。
    通常だとget_template_part部分は投稿記事しか表示されないんですが、「loop.php」を変更して、固定ページも投稿ページと同様に表示させている…という状態です。

    私がgatespace様の質問を勘違いしてしまっていたら申し訳ございません。

    フォーラム: 使い方全般
    返信が含まれるトピック: get_query_var('paged')でページ数と投稿数があわない
    トピック投稿者 mclcl

    (@mclcl)

    色々試してみました。

    投稿している記事の順番

    ・固定1
    ・エントリー1
    ・エントリー2
    ・エントリー3
    ・固定2

    ■ダッシュボード1件、’posts_per_page’ => 3の場合

    ・固定1
    ・エントリー1
    ・エントリー2
    ——————–
    ・エントリー3
    ・固定2
    ——————–
    【空ページ】
    ——————–

    ■ダッシュボード3件、’posts_per_page’ => 3の場合

    ・固定1
    ・エントリー1
    ・エントリー2
    ——————–
    ※ページネーションは表示されず

    ■ダッシュボード2件、’posts_per_page’ => 3の場合

    ・固定1
    ・エントリー1
    ・エントリー2
    ——————–
    ・エントリー3
    ・固定2
    ——————–
    ※正しく表示されるものの、固定、エントリーの投稿数で偶然正しくなっている模様。

    フォーラム: 使い方全般
    返信が含まれるトピック: get_query_var('paged')でページ数と投稿数があわない
    トピック投稿者 mclcl

    (@mclcl)

    >hissy様

    ダッシュボードでの設定で表示件数を1件にして、「’posts_per_page’ => 3」を追加しました。
    そうするとすべて表示されたんですが、本来2ページしか表示されなくてはいけないのが、4ページになってしまいました。

    3〜4ページ目には何も表示されずページネーションだけが表示されました…。

    フォーラム: 使い方全般
    返信が含まれるトピック: get_query_var('paged')でページ数と投稿数があわない
    トピック投稿者 mclcl

    (@mclcl)

    >hissy様

    ご指摘ありがとうございます。逆にしないと動かない…はずなんですが、なぜか機能してしまっています。
    そして順序を変えても投稿数が合わない状態です。

    「$paged」というパラメーター名が問題なのかもと思い、「$sample」に変えてみましたが、結果は一緒でした。

    「get_query_var」はエントリーの数しか勘定しないんでしょうか??

    トピック投稿者 mclcl

    (@mclcl)

    >jim912さん

    こんにちは。

    'post_parent' => 0

    で子ページのループがなくなりました!
    ありがとうございます!

    あとは、loop.phpでカスタム投稿での親ページが表示された際、
    子ページのサムネイルを表示させるだけなので、
    ショートコード?とかを使って色々試してみます!

    そちらが解決すればこの投稿は「解決済み」にさせていただきます。
    ありがとうございます!

    フォーラム: 使い方全般
    返信が含まれるトピック: 投稿した年の最新記事にのみに表示させたい
    トピック投稿者 mclcl

    (@mclcl)

    nobitaさんのご指示通り、「$_SESSION[‘my_date’]」で
    うまくいきました!

    ■index.php
    loop.phpを読み込む前に

    <?php
    session_start();
    ?>
    <?php if(is_home() && !is_paged()): ?>
    <?php
    $_SESSION['my_date'] = '';
    ?>
    <?php endif; ?>

    ■loop.php
    loop部分に

    <?php
    if( $_SESSION['my_date'] !== get_the_date('Y') )
    { $_SESSION['my_date'] = get_the_date('Y');
    echo '<h2>'. $_SESSION['my_date'] .'</h2>';
    }
    ?>
    フォーラム: 使い方全般
    返信が含まれるトピック: 投稿した年の最新記事にのみに表示させたい
    トピック投稿者 mclcl

    (@mclcl)

    ありがとうございます!

    $_SESSION[‘my_date’]
    は色々調べてします。

    色々調べて、できるorできないが分かりましたらこの記事を解決済みにさせていただきます!

    本当にありがとうございました!

    フォーラム: 使い方全般
    返信が含まれるトピック: 投稿した年の最新記事にのみに表示させたい
    トピック投稿者 mclcl

    (@mclcl)

    こんにちは。

    うまくいきました!ありがとうございます!

    2つほどお伺いしたいのですがよろしいでしょうか?

    ■1つ目
    loopの外側に$my_date = ”;を記述し、loop内に

    <?php
    	if( $my_date !== get_the_date('Y', '<h3>', '</h3>') )
    	{ $my_date = get_the_date('Y', '<h3>', '</h3>');
    	echo $my_date;
    	}
    ?>

    を記述したのですが<h3>タグが出力されない原因は何でしょうか?

    ■2つ目
    表示件数を3つに設定した際、次のページに遷移した際に再び年数が
    出力されてしまうんですが、次ページになった際も表示しない、という設定は不可能でしょうか?

    ■1ページ目
    2012年
    2012年4月6日 本文
    2012年3月6日 本文
    2012年2月6日 本文

    ■2ページ目
    2012年1月6日 本文

    2011年
    2011年12月6日 本文
    2011年11月6日 本文

    ■3ページめ
    2011年10月6日 本文


    といった感じです。

    重ね重ね申し訳ございませんが宜しくお願い致します。

    フォーラム: 使い方全般
    返信が含まれるトピック: 投稿した年の最新記事にのみに表示させたい
    トピック投稿者 mclcl

    (@mclcl)

    こんにちは。

    「追記」で教えていただいたコードを「twentyeleven」に記述しました。

    年はきちんと表示されました!
    しかし、エントリーすべてに年が出てしまいますね・・・。

    2012年
    2012年4月19日 本文

    2012年
    2012年4月19日 本文

    2011年
    2012年3月19日 本文

    2011年
    2012年2月20日 本文


    「twentyeleven」のcontent.phpに

    <?php $my_date = ''; ?>
    
    <article id="post-<?php the_ID(); ?>" <?php post_class();  the_post(); ?>>
    <?php
    	if( $my_date !== get_the_date('Y', '<h3>', '</h3>') )
    	{ $my_date = get_the_date('Y', '<h3>', '</h3>');
    	echo $my_date;
    	}
    ?>

    書き方に何か問題あるでしょうか・・・・。

    申し訳ございませんが宜しくお願い致します。

    フォーラム: 使い方全般
    返信が含まれるトピック: 投稿した年の最新記事にのみに表示させたい
    トピック投稿者 mclcl

    (@mclcl)

    こんにちは。

    >複数年にわたる、アーカイブを表示するためには、ご自身ですべての記事をリストするコードを書いているんだと思いますが、そういうことですか?

    いえ、基本的には「twentyten」テーマそのままで、
    「AutoPager」というプラグインを使用するだけ、という感じです。

    通常だと、トップページにエントリーされた記事を○件表示、
    ページ下部に「古い投稿へ」でindex.php内を遷移して
    次の○件を表示してくれると思うんですが、
    「AutoPager」を使用するとページをスクロールした際、
    プラグインで指定したid内に次のページを表示してくれます。
    http://lagoscript.org/jquery/autopager

    「その年の最後の記事に<h3>を出力できたらいいなぁ」
    と思い、色々調べたんですが、分からず今回質問させていただきました。

    the_date()ですが、loop.php内に
    <?php the_date(‘Y’, ‘<h3>’, ‘</h3>’); ?>を足しただけです。

    loop.phpから抜粋ですが、

    ———————————————————-

    `<div id=”post-<?php the_ID(); ?>” <?php post_class(); ?>>
    <?php the_date(‘Y’, ‘<h3>’, ‘</h3>’); ?>
    <h2 class=”entry-title”>” title=”<?php printf( esc_attr__( ‘Permalink to %s’, ‘twentyten’ ), the_title_attribute( ‘echo=0’ ) ); ?>” rel=”bookmark”><?php the_title(); ?></h2>
    <div class=”entry-meta”>
    <?php twentyten_posted_on(); ?>
    </div><!– .entry-meta –>

    <?php if ( is_archive() || is_search() ) : // Only display excerpts for archives and search. ?>
    <div class=”entry-summary”>
    <?php the_excerpt(); ?>
    </div><!– .entry-summary –>
    <?php else : ?>
    <div class=”entry-content”>
    <?php the_content( __( ‘Continue reading <span class=”meta-nav”>→</span>’, ‘twentyten’ ) ); ?>
    <?php wp_link_pages( array( ‘before’ => ‘<div class=”page-link”>’ . __( ‘Pages:’, ‘twentyten’ ), ‘after’ => ‘</div>’ ) ); ?>
    </div><!– .entry-content –>
    <?php endif; ?>

    <div class=”entry-utility”>
    <?php if ( count( get_the_category() ) ) : ?>
    <span class=”cat-links”>
    <?php printf( __( ‘<span class=”%1$s”>Posted in</span> %2$s’, ‘twentyten’ ), ‘entry-utility-prep entry-utility-prep-cat-links’, get_the_category_list( ‘, ‘ ) ); ?>
    </span>
    <span class=”meta-sep”>|</span>
    <?php endif; ?>
    <?php
    $tags_list = get_the_tag_list( ”, ‘, ‘ );
    if ( $tags_list ):
    ?>
    <span class=”tag-links”>
    <?php printf( __( ‘<span class=”%1$s”>Tagged</span> %2$s’, ‘twentyten’ ), ‘entry-utility-prep entry-utility-prep-tag-links’, $tags_list ); ?>
    </span>
    <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-## –>
    ———————————————————-

    これだと

    2012年
    2012年4月19日 本文
    2012年4月19日 本文

    2012年
    2012年3月19日 本文

    2012年
    2012年2月20日 本文

    2011年
    2011年12月29日 本文

    2011年
    2011年10月29日 本文
    2011年10月29日 本文

    2011年
    2011年9月1日 本文


    という感じで出力されてしまいます。

    うまく説明できているか不安です。
    申し訳ございませんが、これでご理解いただけますでしょうか?

    宜しくお願い致します。

    フォーラム: 使い方全般
    返信が含まれるトピック: 投稿した年の最新記事にのみに表示させたい
    トピック投稿者 mclcl

    (@mclcl)

    すみません、説明が足りませんでした。

    index.phpに投稿したエントリー順に掲載されていく(loop.php)と思うんですが、

    通常
    <div>0000年00月00日エントリー内容</div>
    <div>0000年00月00日エントリー内容</div>
    <div>0000年00月00日エントリー内容</div>


    となると思うのですが、
    同じ年に投稿した記事の中で、最新のものに<h3>○○○○年</h3>
    と入れたいんです。

    <div><h3>2012年</h3>2012年4月19日エントリー内容</div>
    <div>2012年3月10日エントリー内容</div>
    <div>2012年2月22日エントリー内容</div>
    <div><h3><2011年</h3>2011年12月29日エントリー内容</div>
    <div>2011年11月12日エントリー内容</div>
    <div>2011年10月18日エントリー内容</div>
    <div>2011年5月5日エントリー内容</div>
    <div>2011年2月6日エントリー内容</div>
    <div><h3><2010年</h3>2010年12月29日エントリー内容</div>


    という感じです。

    宜しくお願い致します。

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