しかし、『投稿』タイプと違う件数にしたい場合はfunctions.phpの方で設定をする必要があります。 方法は独自の関数(ここでは『posts_per_page』)を作り、 『pre_get_posts』をフックして、上書きします 。 InfoTownLinkWp 特定のカテゴリーに属する記事を決められた件数分だけ表示する時に使うquery_posts,get_postsについてまとめる。 query_posts・get_postsを上記の機能を実現するために利用する場合は殆んど同じ働きをする。しかし違いもあるのでそれについてもまとめる。 2011.07.07追記 / ECサイト構築・リニューアル / ECオープンプラットフォームEC-CUBE 表1-5 指定管理者における利用料金制の採用状況 … 5 表1-6 債務負担行為の設定状況 … 5 ② 指定期間 表2-1 指定管理者制度導入施設の指定期間別状況 … 6 表2-2 指定期間の変更状況 … 6 ③ 選定手続 アーカイブページかつスマホの時は表示件数を14件に変更する. ConoHa のオブジェクトストレージを VPS にマウントして、FTP で使えるようにする方法, macOS を Catalina にアップグレードしようとしたら容量が足りなくインストールがストップした件, WordPress の Lightbox プラグインの決定版「Lightbox with PhotoSwipe」のご紹介 ~ 日本語化ファイルを作ってみた. 「検索で10位以内に入ってい, ウェブサービスサイトや最近のWordPressテーマで使われているエフェクトや小技をまとめました。今回またjQueryが多くなってしまいましたが、サイト制作時に一手間加えたくな, このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。. ), フロントページで 1 件だけ表示してから、カテゴリーID が 1 の投稿へのリンクをそれに先行する 5 件分表示したい場合、下記のようにします。, ループの後で、foreach 実行前の記事が必要な場合は、以下のように記述します。, get_posts では、デフォルトの状態では利用できない記事データが一部あります。the_content() のコンテンツや ID などです。内部関数 setup_postdata() に、引数として $post 配列を与えることで解決できます。, setup_postdata() を呼び出さずに投稿 ID またはコンテンツにアクセスしたり、(the posts table に蓄積されている)任意の投稿データにアクセスするには、$post->COLUMN を使用できます。ここで COLUMN はデータのテーブルカラム名です。したがって、$post->ID は ID、 $post->post_content はコンテンツ、といった具合です。データを表示/出力するには、以下のように PHP echo コマンドを使用します。, アルファベット順に昇順で最近の 10 件を表示するには、以下のコードで投稿日、タイトル、抜粋を表示します。, orderby パラメータに rand を指定して MySQL RAND() 関数を使用して最近の 5 件をランダムに表示します。, 注: タクソノミー名をキーとする方法(以下の1番目の例)は、バージョン 3.1 以降は非推奨になりました。代わりに 'tax_query' を使用してください(2番目の例)。, 特定のタクソノミーと関連する投稿を表示します。カスタム投稿タイプに対して登録されたタクソノミーを指定した場合、'category' ではなく代わりに '{custom_taxonomy_name}'(カスタムタクソノミー名)を使って下さい。例えば、"genre"(ジャンル)というタクソノミーがあり、"jazz" というジャンルに分類された投稿のみを表示したい時は以下のコードを使います。, 以下の例では、"tax_query" を使い、"genre" カスタムタクソノミーの "jazz" に分類された投稿のみを取得します。, 他の例については、WP_Query ドキュメンテーションの タクソノミーパラメータのセクションをご覧ください。. 様々な条件を指定してWordPressの投稿内容を商品ページのフリーエリアへ表示できます。 投稿のループで、カテゴリを指定や除外したり、表示順や表示数を変更したりするなら…get_postsを使いましょう! 非推奨?のテンプレートタグ「query_posts」 query_postsの代わり使える?テンプレートタグ「get_posts」 条件の因数、入力例 1ページに表示させる投稿の数 'posts_per_… WordPressのループ処理で記事の表示件数や特定カテゴリーを制御するquery_postsの使い方. 今回はアクションフックを使って、カテゴリページの表示件数や、検索結果で5年以内の記事を返すなど「表示の調整」を行う方法をご紹介します。例えば管理画面で投稿記事は10件に設定しているけれどカテゴリーページは15件の表示をしたいとき。または、古い検索結果は出力したくないといったように、メインクエリに対する操作を行いたいときはアクションフックpre get postsを使います。, pre_get_postsはデータベースへの検索が行われるクエリ実行前(記事データの問い合わせ前)に呼び出されます。WP_Queryがセットアップされる前に実行されるので、データベースへの問い合わせが1度で済むので高速であり、functions.phpの中に書くことで保守性が高くなります。, WP_Queryとどう違うのか比較すると、以下のようになります。カテゴリページや検索結果ページで使うことが多いです。, is_main_query()はメインクエリ(記事データ)、is_admin()は管理画面のことで、管理画面とメインクエリ以外では適用しないという記述をしておきます。$query->setではパラメータと値をセットします。, 例えばスマホのアーカイブページで最大表示件数を変更したい場合。1ページあたりの表示件数を指定できるposts_per_pageをパラメータに設置します。こんなに短い記述で調整できるので便利ですね。, 検索結果で○年以内のものを返すケース。他に○○年以降という指定もできます。これを実現するには、複雑な指定ができる日付パラメータdate_queryを使います。afterは指定した日付より後、beforeは指定した日付より前の投稿を取得します。「1 year ago」や「2017-01-10」といった表記が使えます。, Plugin API/Action Reference/pre get posts « WordPress Codex, 株式会社コムテ代表取締役。2015/8:弊社にてWeb制作スクールを開始。 WebDesign + Web制作 (最新情報 配信)。おっとりした話し方をするおっさん。, ブログを書いて、継続的な収益を発生させたい 表示させる記事の件数をそれぞれの記事一覧ページで異なる設定をしたい場合や、特定のカテゴリーの記事のみを表示させたい場合があると思います。 東北大学大学院経済学研究科(中途退学), ご質問などありましたら下記アドレス宛へメールをお送りください。 検索結果の一覧ページでは記事の件数を30件表示したい。過去記事の月別アーカイブは全件表示したい。サイト内検索の結果は特定のカスタム投稿タイプだけで絞り込みたい。etc… それらを実現するにはpre_get_postsがオススメです。 商品登録のフリーエリアへ画像を挿入するための画像読み込み機能を追加します。, 特定のカテゴリーに属する記事を決められた件数分だけ表示する時に使うquery_posts,get_postsについてまとめる。 カスタム投稿タイプを使用する際は注意するポイントだと思います。, 例えばカスタム投稿タイプ『食品』ページを作り、カスタムタクソノミー『野菜』『肉』で分類したとします。, それぞれのスラッグは『食品:food』『野菜:vegetables』『肉:meat』。

get_posts の最も適切な使い方は、パラメータに基づいて投稿データの配列を作成することです。最近の投稿あるいはパラメータに一致した投稿を取得します。複数のループを作成するのに get_posts を使用する事もできます。ただしこの場合は new WP_Query を使用して WP_Queryを直接参照するほうが好ましいでしょう。 get_pages とパラメータが似ていますが実装方法はかなり異なっており、適切に使う必要があります。get_posts は WP_Query を使用していますが、get_pagesはデータベースに直接クエ … » query_posts, get_posts : WordPress, 引数に$query_stringを付けないと、posts_nav_linkを使ったページが分割処理がうまく動作しない。 例えばスマホのアーカイブページで最大表示件数を変更したい場合。1ページあたりの表示件数を指定できるposts_per_pageをパラメータに設置します。こんなに短い記述で調整できるので便利ですね。 こんにちは。 佐藤です。 今日はワードプレスのアクションフック「 pre_get_posts 」を使ってアーカイブページの表示件数や順番を指定する方法を解説していきます。 その前にまず「 pre_get_posts 」について少し解説しておきましょう。 「 pre_get_posts 」はワードプレスの アクションフック です。

EC-CUBEプラグインアワード3.0 結果発表

2013年、ページが軽いサイトが上位表示されてきました。 先日、WordPress で投稿者アーカイブなど不要なページを 404 にする記事を書いたときに pre_get_posts が出てきたので、自分の復習も兼て pre_get_posts について簡単にまとめてみた。 特定のカテゴリーに属する記事を決められた件数分だけ表示する時に使うquery_posts,get_postsについてまとめる。 query_posts・get_postsを上記の機能を実現するために利用する場合は殆んど同じ働きをする。しかし違いもあるのでそれについてもまとめる。 2011.07.07追記 取得できる情報は以下の通りです。, サーバー、WordPress、EC-CUBEなどWEB全般の疑問を解決するブログ。, 【xeory_base】bzb_breadcrumb()でカスタムタクソノミーのパンくずを取得する, 【xeory_base】get_bzb_title()でカスタムタクソノミーのアーカイブタイトルを取得する. […], 今回の内容は【勉強の流れとオススメの参考書】。最初に参考書を選ぶポイントを2つ、そのあと勉強の流れと一緒にオススメの…[…], カスタム投稿タイプの表示件数を設定すれば、分類したタクソノミーのアーカイブページもそれに準じると思っていた点です, 【未経験からWebデザイナーになるには】『なれるかどうか』の前に考えたい『本当にやりたいかどうか?』. また、『is_post_type_archive()』でカスタム投稿タイプ、『is_tax() 』でカスタムタクソノミーを条件分岐し、数値を指定。, (カスタム投稿タイプが『food』しかなければ、コード中の『’food’』という指定は必須ではない。), 注意すべき、というか自分が忘れていたのは、カスタム投稿タイプの表示件数を設定すれば、分類したタクソノミーのアーカイブページもそれに準じると思っていた点です。, 実際は『is_tax() 〜』で別途設定する必要があり、これを記述しなかったため、タクソノミーのアーカイブページは『投稿』の【表示設定】の件数での出力になってしまっていました。, 上記例は『野菜』と『肉』のアーカイブページが同じ件数でしたが、別にする場合。 AdvancedCustomFieldsは、投稿、固定ページ、カスタム投稿など好きな入力欄に自分独自のカスタムフィールドを設けることができる... 先日、 クライアントWordPressのサイトで、 サイト自体は表示されるし、管理画面も表示はされるのだけども、 記事の「更新」ボタンをクリ... ボタンクリックで質問に対する回答を表示・非表示切り替えできるような、 ハイクオリティなQ&Aを実現するためには、jQuery、html、cs... マウスホバー時に画像を拡大・縮小するエフェクトはCSSのみで実現可能です。 以下に画像を拡大・縮小する時のサンプルを紹介します。 拡大... サイトを運営する上で、常に不測の事態に備えておくことが重要です。 備えとしてのサイト運用保守の内容は様々ですが、その中でも「バックアップ」... WordPressサイトで、 簡単に記事一覧の無限スクロールを実現する「」と「」の2つのプラグインを紹介してきました。 すると、 とい... WordPressサイトで、 、 プラグイン「」を使うことで簡単に実現できます。 ここでは、プラグインをダウンロードするところから、 実際... FTPクライアントソフトで文字化けしたファイルが編集・削除できなくなった時の対処法, ソート対象。author、date、category、title、modified、ID、menu_order、randなど, 'post'、'page'、'attachment'、'any'などの投稿情報タイプ, 投稿ステータスを示す'auto-draft'、'draft'、'inherit'、'private'、'publish'、'any'など, 最終的な検索条件に対してフィルター処理を行わない場合はtrue、フィルター処理を行う場合はfalseを指定. » get_posts() と WP_query() | WordPress の部屋, 2011.07.09追記 WEB制作 2016.02.03 2019.02.27 ディレクターチーム. 「ブログ」だけで、家族を養うことはできるのか? ブログにある固定ページの一覧を取得します。オプションでパラメータにより絞り込むことができます。固定ページの木構造(階層化された状態)ではなく配列を返します。固定ページのタイトルを木構造のリスト形式で出力するには、wp_list_pages() テンプレートタグを参照してください。 また 'post_type'パラメータを使って、他の投稿タイプを取得することもできます。ただし、その投稿タイプは固定ページのような階層を持つものでなければならず、そうでなければこの関数は false を返します … WordPressで記事を取得するためのテンプレートタグ「get_posts」について見ていきましょう。, 「get posts」では、引数として渡すパラメータに基づいて投稿データの配列を作成することができるため、ランダム記事の一覧やカテゴリー関連記事一覧といったものを表示する際に活用できます。, 「get posts」のパラメータは以下の通りです。 って感じだけど、カテゴリーページなら記事一覧の記事データをデータベースから取得してくる条件みたいなものだ。, なんてあるループのところに上記の設定 $query->set( ‘posts_per_page’, 6 ) とかを適用しますよってことになる。, 逆に if 条件に $query->is_main_query() をつけないとメインじゃないループ、たとえばサイドバーとかの新着記事とかに影響を及ぼすことがある。, 上記の例は表示する記事件数を指定する例だったけど、トップページの新着記事にはあるカテゴリーの記事は表示させたくない場合。, それとか、特定の投稿を除外したい場合、たとえば投稿 ID が 20 と 51 の投稿を除外したい場合は, 上みたいにやれば記事一覧のループに対していろいろ指定できるのはわかったけど、それとは別のループを入れたいんだけど、という場合。たとえば, とメインのループで表示させ、表示させる件数などは上のように pre_get_posts のアクションフックで対応すればよい。, 対して「ほげ」カテゴリーの新着のほうは、メインクエリとは別のクエリを生成してやる。, そのためには new WP_Query を使う。「ほげ」カテゴリーのスラッグが hoge なら, の一行で、メインクエリとは別のクエリを生成している。そのクエリの諸条件を $args の配列で指定しているわけど。, ループのほうのポイントはメインループのほうでは単に have_posts() とかなっているのが $the_query->have_posts() とかなっているところ。, これで $the_query = new WP_Query( $args ) で生成したクエリのことを扱うことができる。($the_query は好きに決めれて $my_query とか $query とか、さらにいくつか使用する場合は、 $the_query01、 $the_query02…とかでオッケー), さらに重要なのが endwhile; の後の wp_reset_postdata(); 。これは new WP_Query を使ったクエリを実行した後で、もとメインクエリに戻すために必要。, これが無いと、これ以降 new WP_Query を使ったクエリの影響が続いてしまう。, 表示させる件数や特定の記事の除外とかを上で紹介したけど、他にも色々使える。あんまりにも色々使えるので下記を参照してください。, のページにある「~パラメータ」で紹介されているのが使えます。このページでは new WP_Query で使う例が紹介されているけど、たとえば, という2012年12月12日の投稿を取ってくるという例の場合。それをメインクエリを変更するpre_get_posts のアクションフック内で使うのであれば, と、とにかく $query->set( ‘……’, ‘……’ ) の形にすればよい。, とざっと pre_get_posts のアクションフックと、メインのループとは別のループを使う場合についてまとめてみました。, 次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。, WordPress で特定のページを 404 にする方法 ~ pre_get_posts を使う, WordPress の AMP ページで amp-iframe の js スクリプトが重複しているよという警告が出た件, YouTube Data API でサーバの IP アドレスを許可したのに、ちょっとつまづいた件. すると『食品』の一覧ページはテンプレートファイル『archive-food.php』、 Copyright © Gin's Blog All Rights Reserved. 必要なもののみ引数として渡して使います。, 「get posts」の返り値はWP_Postオブジェクトのリストです。 WordPressのループ処理で記事の表示件数や特定カテゴリーを制御するquery_postsの使い方. 100, 自分だけのテーマを作りたい、最初から知っておけば、重いプラグインだらけにならずに済んだテンプレートタグやカスタマイズ方法。 get_posts の最も適切な使い方は、パラメータに基づいて投稿データの配列を作成することです。最近の投稿あるいはパラメータに一致した投稿を取得します。複数のループを作成するのに get_posts を使用する事もできます。ただしこの場合は new WP_Query を使用して WP_Query を直接参照するほうが好ましいでしょう。, get_pages とパラメータが似ていますが実装方法はかなり異なっており、適切に使う必要があります。get_posts は WP_Query を使用していますが、get_pages はデータベースに直接クエリを投げます。それぞれ実装の差異を反映したパラメータになっています。, query_posts も WP_Query を使用していますが、グローバル変数 $wp_query を書き換えてメインループを直接変更しているので、使う場合は注意してください。一方、get_posts は新しい WP_Query オブジェクトを参照するため、メインループに影響を与えません。, メインクエリが実行される前に変更したい場合は、pre_get_posts フックを使用することができます。ページの中で、いくつかのパラメータで指定した投稿データを呼び出したい場合は、get_posts が最適でしょう。, 注: 'numberposts' または 'posts_per_page' のいずれかが利用できます。, get_posts() は WP_Query クラスを利用して投稿を取得します。この関数で使えるパラメータについては、WP_Query ドキュメンテーションのthe parameters section をごらんください。, 注意: get_posts は 'suppress_filters' => true をデフォルトとします。一方、query_posts() はデフォルトでフィルタを適用するので、WPML のようにクエリを変更するプラグインを使う場合はややこしく感じるかもしれません。また、'suppress_filters' が true の場合でも、pre_get_posts に追加されたフィルターは適用されます。'posts_*' と 'comment_feed_*' に追加されたフィルターのみ、抑制されます。, 注意: category パラメータではカテゴリー名ではなくカテゴリー ID を指定する必要があります。, 注意: category パラメータはコンマ区切りの複数カテゴリー ID でもかまいません。これは、get_posts() 関数が 'category' パラメータを 'cat' として WP_Query に直接渡すからです。, 注意: category_name パラメータは カテゴリ名では、この場合、文字列にする必要があります。, get_pages() と異なり、get_posts() は適切なコンテキスト(管理者の場合、など)では private ページを返します。 (参考: Andreas Kirsch, WordPress Hacking II, January 24, 2009-- accessed 2012-11-09.