WordPress(ワードプレス)のヘッドライン表示は「query_posts」じゃなくて「get_posts」 #wp
2014/11/09
1年以上前の記事です。内容が古い可能性があります。
プログラムのプロではないのですがときたまプログラムのようなものは書くことがあって、
今回、「つぶくま」にヘッドライン表示を設置した時に気付いたポイントを紹介しておきます。
まずは最終的にこのかたちになったというのがこちら。
<?php
$myposts = get_posts('numberposts=3');
foreach($myposts as $post) :
?>
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
<?php endforeach; ?>
</div>
3~4行目でデータを抽出して6行目で表示。4行目と7行目の間がループとなっています。
実は、3行目の「get_posts('numberposts=3');」のところで実際は一つのカテゴリに絞っているので「get_posts('numberposts=3&category=6');」となっていますがまあ、大方上記の通りです。
(「get_posts」では「numberposts」で記事本数、「category」で記事カテゴリーを指定することができます。)
これのベースとなっているのがプロット・ファクトリーのトップページにあるインフォメーションの部分を改造したこちら。
<?php
$myposts = query_posts('showposts=3');
foreach($myposts as $post) :
?>
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
<?php endforeach; ?>
</div>
ただ、これだと問題がありまして。。
つぶくまの場合はトップページ以外、全ページにヘッドラインを以下のように表示させようと思っています。
上部、赤線で囲んだ部分がヘッドライン。
一方でプロット・ファクトリーはトップページのみに以下のように表示されるだけ。
同じく赤線で囲んだ部分。
実は、プロット・ファクトリーのプログラムを書き換えただけだと、固定ページは問題なく表示されるものの、投稿された各記事やカテゴリー一覧ページに入った時に抽出された記事だけが表示されてしまうのです。
これは、「query_posts」の仕様で、グローバル変数へ影響を与える関数であるから。
一方で
「get_posts」はグローバル変数へ影響を与えることはありません。
□ get_postsとquery_postsを使い分け:WordPress私的マニュアル
つまりは、新着記事一覧をサイト内任意の場所に表示させたい時は「query_posts」ではなく、「get_posts」を使うようにしたほうが良いということです。
ちなみにquery_postsをつかった場合はwhileを使って書くこんな方法もあります。
<?php
query_posts('showposts=3');
while ( have_posts() ) : the_post()
?>
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
<?php endwhile ?>
</div>
こちらをget_postsで使うにはちょっと工夫をしなければならないようです。
アドセンス広告メイン
関連記事
-
-
アップデートで予約投稿(自動投稿)ができなくなった?「更新の必要はありません この WordPress のデータベースはすでに最新のものです」と出て先へ進めなくなったら危険
1年以上前の記事です。内容が古い可能性があります。すみません。 ついに毎日更新を …
-
-
通勤、通学カバンで水筒が水漏れ。タブレット、ノートパソコン等、電子機器はすぐさま引き上げよう
1年以上前の記事です。内容が古い可能性があります。水濡れタブレット復活日記、二回 …
-
-
Youtubeでファイルをダウンロードする裏技
1年以上前の記事です。内容が古い可能性があります。Youtubeの動画がダウンロ …
-
-
Suicaポイントは自動販売機でドリンク(飲料)を買って貯めよう
1年以上前の記事です。内容が古い可能性があります。少し前にSuicaポイントは2 …
-
-
就活者は注意しよう。エントリーシート、職務経歴書等に書いてはいけないエピソード
1年以上前の記事です。内容が古い可能性があります。もう、この歳になったら就職活動 …
-
-
「Tumblr gear」で使える裏技
1年以上前の記事です。内容が古い可能性があります。知ってる人はやっている「Tum …
-
-
タンブラーで便利なAutoPagerizeの使い方
1年以上前の記事です。内容が古い可能性があります。AutoPagerizeですが …
-
-
WordPressでコンテンツの一部(記事途中から等)だけに認証(閲覧制限)をかける方法
1年以上前の記事です。内容が古い可能性があります。まさか、当ブログにこのシステム …
-
-
「Aterm WM3600R」のファームウェアをアップデートした
1年以上前の記事です。内容が古い可能性があります。WiMAXのモバイルWi-Fi …
-
-
プロキシはもう古い。「TOR(トーア)」とは何のこと?
1年以上前の記事です。内容が古い可能性があります。さてさて、2ちゃんねるでの個人 …