the_posts_paginationのページ番号を2桁にする

WordPressで構築するサイトで、デザイナーさんからこんなデザインをもらった。
ページ部分の表記が
 < 01 02 03 >
になってる。
サイバーでカッチョイイから、ということみたいだが、できるかそんなことー!→できたー!

以下、私がやった時のやり方です。

参考記事(ありがとうございました!)
the_posts_pagination()のタグをBootstrap 3形式にする WordPressカスタマイズ事典
正規表現で数字の桁数を表す 名もないテクノ手
※「1桁の数字」を検出するのは意外と複雑なようですが(「15.2」の「1」と「5」と「2」がヒットしちゃったりするから)、今回は整数だとわかっているので簡略化した正規表現にとどめました

function.phpに下記を追加します。

WordPressで特定エントリの所属カテゴリを「親→子」の順に並び替える

例えばこういう、親子関係のあるカテゴリ構成があったとします

勇者
 ー時の勇者
 ー風の勇者
 ー神に選ばれし勇者

ある記事を「勇者 風の勇者」のカテゴリに指定した場合、普通にget_the_category()を使うと「勇者 風の勇者」ではなく機械的にアルファベット順に「風の勇者 勇者」と並べられてしまってヴァーとなることがあります

試行錯誤で2パターンほど対処法を試したので両方メモしておきます

解法その1

参考にさせていただいた記事です。ありがとうございます!
カスタムタクソノミーに親子関係(階層)を持たせ、複数選択したタームの並び順を親>子の順番に表示する
※「children[]」という箇所が自分の環境では動作しなかったので、自分なりに書き換えましたが、ちょっと頭の悪い処理かもしれません。ごめん。

functions.php

テンプレートの該当箇所

解法その2

こっちの方法では、階層の同じカテゴリを複数指定した場合はうまくいかないです。

参考にさせていただいたのは下記の二つの記事です。ありがとうございます!
カテゴリIDを階層順に並べた配列をつくる Wordpressテーマの作り方
カテゴリIDからカテゴリ名/スラッグを取得する

function.php

テンプレートの該当箇所

いま勇者パロディをやるはずかしさ

「爺メン75歳」はスーファミ版のツクール2の頃からあったアイデアなのだけど、「75歳になった勇者」のお話です。
勇者といえば、最初に思いついた時から15年の間にパロディとして消費され、いったん廃れ、逆に今さら感が受けて蘇り、また手垢がついて前よりよごれてしまうという哀しいサイクルを経ているとおもいます。
いまスマホゲーで勇者パロディがかなり多いみたいで「そろそろ止めれ( ^ω^ #)ビキビキ」状態の人もいるみたいですが、自分では気に入ってるアイデアなのでツクってしまいますらよ。

以下は6年前…6年前!? 別ブログで紹介したプロットです。

15歳で世界を救った勇者も、
60年経って街の名物おじいちゃんになっていた。
野良犬に負けて警備隊に救護される始末。

そんななか かつて倒したドラゴンがよみがえってしまうが、
時代が変わってドライになった街の人は「迷信だ」と本気にしない。
幸いドラゴンも60年でちょっとよぼよぼになってるので…倒せるかも!?
と、街の「勇者保存会」に見送られながら 再び旅立つのであった。

持ってるんだけど もう重すぎて装備できない「伝説の剣」は荷物になるばかり。
呪文はど忘れするわ 看板の字は読めないわ 一晩寝ても半分しか回復しないわ
ステータス異常「ぎっくり腰」はしんどいわ
おまけにやっと仲間にした「勇者マニア」の若者は半日で逃げるわ…

老人ならではの「悪知恵」と ナガヤマ式快癒帯を身につけながらの大冒険!
ドラゴンは倒せるのか? あと伝統芸能の宿命「後継者不足」は解消するのか!?

GAEで特定の下層ディレクトリにだけWordPressをインストールしたい時のメモ

16/2/10追記
そもそも、GAEをWebサーバとして使うときに結構でかい落とし穴を発見しました。
「末尾スラッシュ(trailing slash)」のあるなしで、相対パスが一つずれてしまう問題です。今、歴戦の勇者に「教えてえらい人」しているのでちょっと待ってね。

16/2/2追記
GAEをWebサーバとして使いたい人はファイル数制限「1バージョンにつき10000ファイルまで」を心のどこかに置いておいてください。中規模の、サブディレクトリごとにコンテンツが大量にあるサイトの場合あとで泣くことになります。解決法がわかったらまた別記事にします。

16/2/1修正
以前の書き方では「画像が全くアップロードできない」という結構な致命傷があったので、対策をwp-config.phpの項目に追記しました

────────ここから本題────────

Google App Engineを使って公開しているサイトで「新着情報だけWPになってればあとのコンテンツはベタのHTMLでいいんだよなー」というケースがあったので対処法をメモ。あ、このブログ自体のことではないです。

やりたいこと

  • GAEを使用
  • 下層の特定のディレクトリにだけWordpressを導入
  • パーマリンクが初期設定だと ださいので、カスタマイズする

パーマリンクというと前髪にパーマをかけた左利きの勇者を連想しますがそれは別の話。

まずGAEにWPを導入する。やり方は詳しく解説されてるサイトがいくつかあります。

つぎに
「下層の特定のディレクトリにアクセスした時だけ、WPで作動するようにする」
「パーマリンクの設定を変更してもつじつまが合うようにする」

この2点をクリアするには、app.yamlおよびwordpress/wp-config.phpを編集する必要があります。

ディレクトリ「news」だけWPで運用したい場合の記述例は下記です。

wordpress/wp-config.php

GAE用WPプラグインを使う時は管理画面からWP_SITEURLを変更できない仕様になっているので、ここを直書きで直してしまいます。これがみそ。

さらに、cookieのパスをルートに指定してやる必要があります。これをしないと、画像が全くアップできなくなってしまいます。理由は、GAE側で用意されている画像アップロード機能にて、認証用のクッキーをルートパスにて扱っているから、とのことです。
参考:WordPress 403 HTTP error on file uploads on App Engine with Custom Domain

app.yaml 抜粋

handlersの項目を下記のようにします。

基本的な考え方としては、WPに関連する記述の「URL」をすべてWPを動かしたいディレクトリ名を挟んだものに書き換えます。
さらに、それ以降に「それ以外なら全部、要求したURLをそのまま表示する」旨の記述を加えて調理完了。

今の所これでうまくいっています。何かありましたら追記します。