SGDG_BIBOU6

いつかのジブンにおくるチエブクロ。

wordpress / マージページの仕様を変更し、固定ページで投稿者の一覧リストを表示させる

*areinaru*.wpblog.jp

今日はまだまだ続きます。

 

先のやり方で、cinema(第一階層)、ramen(第一階層)、tag、date のアーカイブ(一覧)系ページを

使い回しで簡単に作るすことができました。

ちなみに、カスタム投稿アーカイブ(一覧)URLの調べ方はこれ。

カスタム投稿タイプのアーカイブページへのアドレスのみ取得する方法
https://memocarilog.info/wordpress/theme-custom/5085

 

お次は、カスタム投稿と通常投稿が混在するため、

上のカスタム投稿のアーカイブ(一覧)ページでは対応できなかった「archives」ページ。

 

最初は単純に「archive.php」テンプレートを読みに行くよう、グローバルメニューからリンクを設定したけど、

そうすると、記事がきちんと引っ張って(抽出して)来れない。

いろいろ調べたけれどダメで、先ほど最後に仮説で考えた「page-archive.php」を

「header.php」「footer/php」と「archive.php(または)content-page.php」の3テンプレートに分けて

「page-archive.php」上でガッチャンコを試してみたけど、これも不発。。。。

固定ページのコンテンツテンプレートの読み込み
https://www.nishi2002.com/4385.html

 

WordPress】任意のテンプレートパーツを読み込む関数[get_template_part() ;]の使い方。
http://on-ze.com/archives/1144

 

これはなかなかディープな感じになってきたので、また発想を変えることにしました。

 

「archives」ページは、記事のアーカイブ(一覧)要素をなくして、

カテゴリー名のみ一覧、タグ名のみ一覧、年別のみ一覧、投稿者名のみ一覧、、、と

全て項目名のみを列挙させるようにしよう。

これなら、既に実装を試している、、、カテゴリー名のみ一覧、タグ名のみ一覧、年別のみ一覧はそのまま流用できるし、

新たな追記は、投稿者の一覧だけでよいから。

プラグイン不要!固定ページで投稿者の一覧リストを表示させる
https://bge.jp/page-writer-archive/

 

WordPress】ユーザーの一覧を表示させる方法。
http://on-ze.com/archives/5437

 

結果は、、、おお、ステキ!うまく実装できた!

デザインは後でCSSで一気に整えていくとして、一先ずOK!

 

wordpress / query_posts() を使わない固定ページでのマージとページ送り

*reinaru*.wpblog.jp

昨夜の続き。

ページ送り(次のページ、前のページ)が全然出てこない。

たくさん調べても、なかなかよい解説ページに辿り着けない。。。

 

これまでのやり方( functions.php に記述。<pre_get_posts> を利用)だと

固定ページ以外はマージもページ送りもうまくいってたし、

直近のやり方( <get_posts> も <WP_Query> も)は、表示(抽出)なら

固定ページであってもうまくいってたんだよね。

WordPressのget_postsとWP_Queryの違いと使用方法について
http://yuji-okayama-designersworks.com/wordpress/596/

 

もどかしい、、、ので、一旦発想を切り替えてみよう。

 

そのキッカケとなったのはこちらの記述。

現在のWordPressでは、カスタム投稿タイプを使うのが王道です。

WordPressでページ送りが動かないのはどう考えてもquery_postsが悪い!【pre_get_posts、WordPressループまとめ】
http://notnil-creative.com/blog/archives/1996

 

なるほど。

グローバルメニューからのリンクを固定ページの phpテンプレート(page-XXXX.php)に飛ばさず、

カスタム投稿タイプのアーカイブページ(archive-カスタム投稿タイムのスラッグ.php)に飛ばしたら、

確かに <pre_get_posts> を使って対応ができそうな気がする。

 

やってみたら、、、、できましたヨ!ステキ!

今回のように、特にマージをしないアーカイブ(一覧)系のページには、

固定ページの phpテンプレート(page-XXXX.php)を使わないようにします。

 

追記補足)

ただ、、、このやり方だと、残念ながらページのURLに「カスタム投稿タイプのスラッグ」が用いられてしまうようぢゃ。

考えてみれば、当たり前の話なんだけど。

あ!

今回は特にそこまでURLにはこだわらないので、このままでいいけど、

どうしてもページURLを固定ページのスラッグと合わせたい場合は、

固定ページの phpテンプレート(page-XXXX.php)の中に

ループの記載のあるテンプレを作って読み込ませればいいのかな?

 

もう少し余裕ができたら、試してみよう。

 

wordpress / query_posts() を使わない固定ページでのマージ

*areinaru*.wpblog.jp

いろんな意味できちんと確認しながらやろうと、デザインテンプレートを変更したら一気にサイトが崩れた。。

えらく時間がかかりながらも、なんとか各ページの php テンプレートを準備し、最低限の挙動を確認。

ようやく再びスタートラインに立ちました。

 

今夜のチャレンジは、固定ページでのマージ

なんとか query_posts() を使わない方向で(先日成功した functions.php への記述で)

対応しようとしたのだが、上手くいかん。。。

またも暗礁に乗り上げたので、一旦時間を置いてから再検索。

 

すると、下記のページで query_posts() が散々フルボッコにされた挙句、、、

 

こんなトドメの一言が。。。

固定ページのリクエストでは動作しません。

苦笑。

 

半泣きで「query_posts() に変わる方法」を検索ワードに据えて調べ直してみたら

ついに出会えましたヨ!

query_postsは非推奨?代わりにget_postsで条件指定!投稿を取得する方法【WordPress
http://www.misallychan.com/entry/2016/10/28/163000

 

早速試したら大成功しました!どうもありがとうございました。

 

と締めようと思ったら、今度はページ送りが出なくなった。。。涙

というわけで、明日に続く。