WordPress&Luxeritas 検索結果にサムネイル画像が表示されないのを修正……できなかった件

WordPress&Luxeritas 検索結果に画像が表示されない件を修正

WordPress&Luxeritasで検索結果にサムネイル画像が表示されない件を直した。なんてことはない、「カスタマイズ→全体レイアウト→記事一覧の表示方法」「記事全文表示(more タグまで)」から「抜粋+サムネイル表示」にするだけ。作業は簡単だけど、どこに何があるか分からないから戸惑うんだよなー。自分検索用として記事にしておく。

これでいい思ったが、これやるとトップページも抜粋表示になるでないの。トップページは全文表示のままでいいのに。あくまで検索結果だけ抜粋表示でいいのに。いやあああああ…なんて面倒くさい…

WordPress&Luxeritas 検索結果に画像が表示されない件を修正

WordPress&Luxeritas 検索結果に画像が表示されない件を修正

WordPressのタグページのアドレスから /tag/ をはずす

WordPressのカテゴリーページのアドレスから /category/ をはずす方法はNo Category Base (WPML)というプラグインを使うのが有名だが(自分はそれ以外に知らない)、タグページのアドレスから /tag/ もはずしたくなったのでWP No Base Permalinkというプラグインを入れてみた。こちらはタグページもカテゴリーページもベース除去可能(パーマリンク設定で「Disabled Category(またはTag) Base」にチェックを入れるだけ)。親カテゴリーの除去もできるみたい。

No Category Base (WPML)はプラグインを停止するとすべてのページが404エラーになってしまうことが有名なようだが(私もそうなった)、WP No Base Permalinkの方はプラグインを停止しても自分の環境では404エラーにならなかったのでこちらに1本化することにした。

参考:WordPressのカテゴリーベース _category_ を消す方法

WordPress&Luxeritasのタグページにタグの説明文を表示(tag.phpの作成)

tag.phpの作成 

この日記本家サイトはWordPressのLuxeritasというテーマを利用している。Luxeritasのカテゴリー一覧ページではカテゴリーの説明文を表示できるが(外観カスタマイズ →「グリッドレイアウト」で設定)、これを選択してもタグの説明文はタグページに表示されなかったので、独自にtag.phpを作って表示できるようにしてみた。

Image from Gyazo

参考にさせて頂いたのは下記のページ。

タグページを作成する[tag.php][single_tag_title][the_tags][WordPress]

自分の場合は、Luxeritasの親テーマ下にtag.phpを作成し、archive.phpの中身をそのままコピーし、タグの説明文を表示したい所に以下のコードを追記した。

<?php if(tag_description()):?>

<?php echo tag_description(); ?>

<?php endif;?>

またグリッドレイアウトはタイル型を選んでいるため、「loop」となっていた所を「loop-grid」に書き換えた(ピンクになっている所が追記した部分)。

<?php

get_template_part( ‘loop-grid‘ );

?>

↓例としてはこんな感じ

(今気づいたが、これグローバルナビが欠けてるな。手直ししないと…汗)

tag.phpがない状態

tag.phpの作成 
tag.phpがある状態

tag.phpの作成 

カテゴリーページは元々説明文が表示されるのでこんな感じ。

カテゴリーページ 

参考にさせて頂いたのは下記のページ。

WordPressのカテゴリー、タグページに説明文を表示する方法 _ 埼玉のWebコンサルタント ColdSleep Works

素人カスタマイズなので、他に良い方法があるかも。


※2021年10月20日 追記
よく見るとtag.phpのページからグローバルナビが消えている件、index.phpやarchive.phpだとグローバルナビは自動的に表示されるが、tag.phpだと表示されない仕様(?)みたいだ。WordPressで特定のタグがついたページだけに表示させる条件分岐「has_tag」 – ディレイマニアという記事があったので、従来どおりarchive.phpでカテゴリーページもタグページも表示させるようにして、記事中の条件分岐を利用してタグページに説明文を表示させるようにしてみたが、それは問題なく実行できたものの、やっぱりタグページだとグローバルナビが表示されなくなってしまう。元々ルクセリタスがタグページにグローバルナビを表示させない仕様なのか…

WordPressでグローバルナビのメニューが表示されない(変更が反映されない)件

WordPressでグローバルナビに表示するメニューの内容に変更を加えても反映されない件(外観のカスタマイズでメニューの位置の表示を『ヘッダーナビ(グローバルナビ)』にすると何故かグローバルナビが消える件)、キャッシュ系のプラグインの問題だとか、いろいろな情報があったけど、Luxeritasの親テーマだけアップロードしたら直った。ついでなのでLuxeritasのバージョンも3.12.0.1からLuxeritas 3.13.0にしておいた。

WordPress マルチサイト化に関するメモ

WordPress、サブディレクトリ型のマルチサイト化に挑戦してみた。ネットで検索するとたくさん出てくる標準的な手順に従ってやってみたが、いくつかつまづいた点があった。

参考:WordPressでマルチサイトを作る際と、リダイレクトループが起きた時の覚書 _ WP Kyoto

まずサブディレクトリ型とサブドメイン型を選択する画面が出てこず、勝手にサブドメイン型にされてしまって困ったが、これはwp-config.phpに書き込む「define(‘SUBDOMAIN_INSTALL’, true);」falseにすることで難なく解決した。

/* マルチサイト有効化 */
define(‘WP_ALLOW_MULTISITE’, true);
define(‘MULTISITE’, true);
define(‘SUBDOMAIN_INSTALL’, false); ➔サブドメイン型にする場合はtrueにする
define(‘DOMAIN_CURRENT_SITE’, ‘oo.ebb.jp’);
define(‘PATH_CURRENT_SITE’, ‘/’);
define(‘SITE_ID_CURRENT_SITE’, 1);
define(‘BLOG_ID_CURRENT_SITE’, 1);

あと作った子サイトの管理画面に入ろうとするとリダイレクトループが起きて何も表示されずログインできない件、これは.htaccessの書き方が悪かった。「サイトネットワークを有効化中」のところで表示されるコードを追記するのでなく、すべて上書きすることで解決した。

元の.htaccessのコード

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

↓書き換えた.htaccessのコード

<IfModule mod_rewrite.c>
# マルチサイト有効化
RewriteEngine On
RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ – [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
</IfModule>

あと子サイトのダッシュボードは表示されるのに、肝心のサイトが403 Forbiddenになって何も表示されない件、これは同じ名前のディレクトリを先に作っていたことが原因だった。当該フォルダを削除して解決。