演劇とかの感想文ブログ演劇感想文リンク(engeki.kansolink.com/)の中の人(清角克由(@kseikaku)のブログ。更新情報やサイト情報だけでなく、管理人の日々の思いも書いていきます。自作の一覧関数を作成した場合に、WP_Pagenaviプラグインを利用したページネーションが表示されない、表示しようとしても画面の上の方に表示されるという事象に遭遇しました。プラグインのソースコードの一部を修正する事で対応できます。したコードの修正で、逆にページネーションをページ中どこでも設置できます。関連ページネーションが表示されてない!(汗)お盆休みで、自分のサイト「演劇感想文リンク」のページを何気なく見ていたら、大変な事を発見。劇団ページ、公演時期ページにページネーションが表示されていない。最新の10公演以前の公演履歴を見ることができなくなっていることに気づきました。カテゴリーリストからカスタムフィールドで対象記事を絞り込む自作の一覧関数に置き換えたのが原因のようです。(気づくの遅!)あわてて、解消に乗り出すことにしまいしたページネーションとは?WORDPRESSに限りませんが、記事の一覧等たくさんのアイテムがページ上に並べる際に、数がある程度を超えた場合に別ページにページを分割し、(通常は)記事の下に分割されたページへのリンクを記述する方法です。以下のような感じになります。演劇感想文リンクは、大量のページの集合体で、多くのページは、他のページ(公演の感想文リンクページ)の一覧を様々な切り口で表示しているという構造なので、自ずと一覧系のページが多くなっています。一覧関数を作成する際、当初は位置欄の表示をechoで内容を表示していたのですが、ページ内の思った位置に表示されませんでした。(必ず先頭に表示される)そこで、$ret_htmlという変数で記載内容を追記していって関数の最後でreturnをするという表示にしていたのですが、この設置位置に問題がありました。以下はコードの一部です。$ret_html;」で、返しています。することで、ショートコードを書いた位置で表示されるようになりました。$the_query));」の文の前で、returnをしていますので、return以降の文が処理されず、当然ながらページネーションが表示されないことになってしまいます。returnの場所を変えると、ページネーションがページの上に表示されるでは、ということで、returnを関数の最後に記載してみました。すると、ページネーションが画面の頭に表示されてしまいます。これは、wp_pagenaviの中で、echoしているのが原因と思われます。最悪一からページネーションを作るかという悲壮感をもちつつ、プラグインのソースコードを眺めていたら、なんとechoするか否かのフラグがあることが判明しました。core.phpの中の以下のコード部分です。);この部分の$echo=trueの部分をfalseに変えれば、echoをしなくなりそうです。以下のように書き換えました。);更に、元の自作関数内も、$ret_htmlにwp_pagenaviの返値も加えるように以下のように書き換えました。$ret_html;この改変で、想定通りの表示になりました。上記のコードは、下に配置したくて上記のようにコーディングしましたが、この方法であればページ中のどこにでも、設置できます。WORDPRESSの関数の自作、まだまだなれていないので色々なことがありますね。コメントをキャンセルメールアドレスが公開されることはありません。!過去全公演キャスト比較表RECOMMENDこちらの記事も人気です。Importerで、カンマ付きの項目...WordPress2017.3.11[WORDPRESS]投稿を50音順に並べるWordPress2016.12.18演劇公演情報を構造化データで表現する。当然ながらあの劇団が1位。年間アクセスランキング(劇団編)。