演劇とかの感想文ブログ

演劇感想文リンク(engeki.kansolink.com/)の中の人(清角克由(@kseikaku)のブログ。更新情報やサイト情報だけでなく、管理人の日々の思いも書いていきます。

WordPress

[WORDPRESS]ペイジネーションを画面の自由な場所に配置

投稿日:

自作の一覧関数を作成した場合に、WP_Pagenaviプラグインを利用したページネーションが表示されない、表示しようとしても画面の上の方に表示されるという事象に遭遇しました。プラグインのソースコードの一部を修正する事で対応できます。ちょっとしたコードの修正で、逆にページネーションをページ中どこでも設置できます。

スポンサーリンク

広告

ページネーションが表示されてない!(汗)

お盆休みで、自分のサイト「演劇感想文リンク」のページを何気なく見ていたら、大変な事を発見。劇団ページ、公演時期ページにページネーションが表示されていない。

最新の10公演以前の公演履歴を見ることができなくなっていることに気づきました。数ヶ月前に、プラグイン カテゴリーリストからカスタムフィールドで対象記事を絞り込む自作の一覧関数に置き換えたのが原因のようです。(気づくの遅!)

あわてて、解消に乗り出すことにしまいした

ページネーションとは?

WORDPRESSに限りませんが、記事の一覧等たくさんのアイテムがページ上に並べる際に、数がある程度を超えた場合に別ページにページを分割し、(通常は)記事の下に分割されたページへのリンクを記述する方法です。以下のような感じになります。

演劇感想文リンクは、大量のページの集合体で、多くのページは、他のページ(公演の感想文リンクページ)の一覧を様々な切り口で表示しているという構造なので、自ずと一覧系のページが多くなっています。そして、結果として自作の一覧関数を利用している例が多くなっています

非表示の原因は、returnの設置位置

一覧関数を作成する際、当初は位置欄の表示をechoで内容を表示していたのですが、ページ内の思った位置に表示されませんでした。(必ず先頭に表示される)

そこで、$ret_htmlという変数で記載内容を追記していって関数の最後でreturnをするという表示にしていたのですが、この設置位置に問題がありました。

以下はコードの一部です。

$ret_htmlに<ul>〜</ul>の一覧を書き込み、それを「return $ret_html;」で、返しています。こうすることで、ショートコードを書いた位置で表示されるようになりました。

が、よく見るとわかりますが、ページネーションを表示する「wp_pagenave(array(‘query’ => $the_query));」の文の前で、returnをしていますので、return以降の文が処理されず、当然ながらページネーションが表示されないことになってしまいます。

returnの場所を変えると、ページネーションがページの上に表示される

では、ということで、returnを関数の最後に記載してみました。すると、ページネーションが画面の頭に表示されてしまいます。

これは、wp_pagenaviの中で、echoしているのが原因と思われます。

WP_PAGENAVIのプラグインを編集することで解消

最悪一からページネーションを作るかという悲壮感をもちつつ、プラグインのソースコードを眺めていたら、なんとechoするか否かのフラグがあることが判明しました。core.phpの中の以下のコード部分です。

この部分の$echo=trueの部分をfalseに変えれば、echoをしなくなりそうです。
早速以下のように書き換えました。

更に、元の自作関数内も、$ret_htmlにwp_pagenaviの返値も加えるように以下のように書き換えました。

この改変で、想定通りの表示になりました。

上記のコードは、下に配置したくて上記のようにコーディングしましたが、この方法であればページ中のどこにでも、設置できます。

WORDPRESSの関数の自作、まだまだなれていないので色々なことがありますね。

広告

広告

-WordPress
-,


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

さようなら、SayCorner! Niftyホームページサービス!

目次1 ■Niftyのホームページ作成サービスの終了がアナウンスされいよいよその日が来ました。2 ■このサービスから、僕のインターネットでの情報発信が、始まりました3 ■コンテンツは結局は、演劇がらみ …

[WORDPRESS]JETPACK連携ができないときの対応方法

私の環境では、「WP-ALL EXPORT」というプラグインが原因でした。WORDPRESSのアクセス解析等で有名なプラグイン「JETPACK」と連携が出来なかった事象を紹介し、対応策を記載します。 …

no image

WordPressで日本語のタイトルを入力しても消えるときの対応

Blogをいくつか分散で書いていたものを統合しようとして初のWordPress導入をおこなった。 WordPress導入自体は、借りているXserverの自動インストール機能で楽勝だったのだが、投稿に …

発表!演劇感想文リンク WordPress化計画

現在の演劇感想文リンクは、オールドタイプのHTMLで作成されたホームページです これをWordPressに載せ替えることを考えています 目次1 ■Google先生の仰せのままに2 WordPress化 …

オールドタイプのホームページをWordPressに移行するための設定

先日の記事でも触れたように、演劇感想文リンクをWordpress化しようと考えています。 とりあえず、Wordpressのインストールをし、初期設定、及び移行方法の検討を行いました。 グーグルの検索で …

2017年10月
« 9月    
1234567
891011121314
15161718192021
22232425262728
293031