mclcl
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: get_query_var('paged')でページ数と投稿数があわない>gatespace様
function.phpに頂いたコードを記述してloop.phpから同様の記述を削除しました。
うまく行きました!ありがとうございます!スッキリしました!
フォーラム: 使い方全般
返信が含まれるトピック: get_query_var('paged')でページ数と投稿数があわない色々調べてみて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')でページ数と投稿数があわない>gatespace様
パーマリンク設定をデフォルトのhttp://example.com/?p=123にしているんですが、
固定ページは「http://example.com/?page_id=123」と表示されます。
(http://example.com/hogehoge/と同じ解釈でよろしいですか?)フロントページの表示は「最新の投稿」を設定しております。
フォーラム: 使い方全般
返信が含まれるトピック: get_query_var('paged')でページ数と投稿数があわない>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')でページ数と投稿数があわない>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')でページ数と投稿数があわない色々試してみました。
投稿している記事の順番
・固定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')でページ数と投稿数があわない>hissy様
ダッシュボードでの設定で表示件数を1件にして、「’posts_per_page’ => 3」を追加しました。
そうするとすべて表示されたんですが、本来2ページしか表示されなくてはいけないのが、4ページになってしまいました。3〜4ページ目には何も表示されずページネーションだけが表示されました…。
フォーラム: 使い方全般
返信が含まれるトピック: get_query_var('paged')でページ数と投稿数があわない>hissy様
ご指摘ありがとうございます。逆にしないと動かない…はずなんですが、なぜか機能してしまっています。
そして順序を変えても投稿数が合わない状態です。「$paged」というパラメーター名が問題なのかもと思い、「$sample」に変えてみましたが、結果は一緒でした。
「get_query_var」はエントリーの数しか勘定しないんでしょうか??
フォーラム: 使い方全般
返信が含まれるトピック: 記事一覧に子ページを反映させず、親ページ内に載せたい。>jim912さん
こんにちは。
'post_parent' => 0
で子ページのループがなくなりました!
ありがとうございます!あとは、loop.phpでカスタム投稿での親ページが表示された際、
子ページのサムネイルを表示させるだけなので、
ショートコード?とかを使って色々試してみます!そちらが解決すればこの投稿は「解決済み」にさせていただきます。
ありがとうございます!フォーラム: 使い方全般
返信が含まれるトピック: 投稿した年の最新記事にのみに表示させたい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>'; } ?>
フォーラム: 使い方全般
返信が含まれるトピック: 投稿した年の最新記事にのみに表示させたいありがとうございます!
$_SESSION[‘my_date’]
は色々調べてします。色々調べて、できるorできないが分かりましたらこの記事を解決済みにさせていただきます!
本当にありがとうございました!
フォーラム: 使い方全般
返信が含まれるトピック: 投稿した年の最新記事にのみに表示させたいこんにちは。
うまくいきました!ありがとうございます!
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日 本文
・
・
・といった感じです。
重ね重ね申し訳ございませんが宜しくお願い致します。
フォーラム: 使い方全般
返信が含まれるトピック: 投稿した年の最新記事にのみに表示させたいこんにちは。
「追記」で教えていただいたコードを「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; } ?>
書き方に何か問題あるでしょうか・・・・。
申し訳ございませんが宜しくお願い致します。
フォーラム: 使い方全般
返信が含まれるトピック: 投稿した年の最新記事にのみに表示させたいこんにちは。
>複数年にわたる、アーカイブを表示するためには、ご自身ですべての記事をリストするコードを書いているんだと思いますが、そういうことですか?
いえ、基本的には「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日 本文
・
・
・という感じで出力されてしまいます。
うまく説明できているか不安です。
申し訳ございませんが、これでご理解いただけますでしょうか?宜しくお願い致します。
フォーラム: 使い方全般
返信が含まれるトピック: 投稿した年の最新記事にのみに表示させたいすみません、説明が足りませんでした。
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>
・
・
・という感じです。
宜しくお願い致します。