>>>56件の記事があります。

ちょっとおかしな現象が・・・

メインのサイトとブログでは”Multi Device Switcher”というプラグインを使って
PC版とモバイル版を切り替えるようにしていますが、
グーグルとヤフーの検索エンジンではモバイル版がキャッシュされています。
もちろんPC版がキャッシュされて欲しいところですが、
これには何か良い解決策があるのでしょうか。
ヤフーの方はメニューボタンが効きませんので、他のページを開くことができません。
これはプラグインのバグと判断しても良いのかなぁ。

無限ループに陥るの巻

どういうことかというと、ブログの設置サンプルで用意しているサイトが
読み込みの際に中々完全にロードされないので、異なるブラウザで同時に表示させてみたところ、
片方で途轍もないスピードで読み込みを繰り返している現象が見られた。
一体いつからこうなっていたんだろう?
更新はしなくても時々は見るようにしないと・・・。
トラブルの解決には少し時間を要したが、現在は元通りというか普通に見ることができる。
原因は何だったのかというと、更新が何年もなされていないプラグインが他のプラグインと
コンフリクトを起こしていたようだ。
その証拠にそのプラグインの使用を止めると、あっさりと問題が解消された。
WordPressの進歩は速いので、プラグインの中にはそれについて行けてないのが結構あるじゃないのかなぁ。
無料で使わせてもらっている手前、ユーザーとしては何の文句も言えないのが辛いところだね。

カスタムメニューのソース的整形

カスタムメニューをデフォルトのまま導入すると
最初のliタグが改行されずに吐き出されてしまう。
この問題を手っ取り早く解決するには、
”ulタグを自動的に入れない”という以下のようなテンプレートタグを使う方法がある。

<?php wp_nav_menu( array( 'items_wrap' => '%3$s' ) ); ?>

その代り自分で直接header.phpにulタグを書き込む必要がある。
デフォルトだと”menu-”という接頭語的なものが自分が設定した
メニューのタイトルに付くが、これも回避できる。
Id名とかClass名はできるだけ短い方が良いと思うし、
必ず一緒に付くclassも必要がないと感じれば省くことができる。
因みに、下のように書くとデフォルトで吐き出されるcontainerタグも無しにできる。
また、前述したテンプレートと合体して使うこともできる。

<?php wp_nav_menu( array( 'container' => '' ) ); ?>

リストタグに付くやたら長くて多いId名やClass名を省くやり方は
多くの方が説明していらっしゃるので、そちらを参照してください。

カスタムメニューで任意のアイテムに”current”を付ける

例えば、このブログのような運営をしている場合、メニューの「WEBLOG」というところには
index.phpにより表示される記事のページにしか”current”というクラス名は付かない。
言い換えれば、投稿やコメントの個別ページ、カテゴリー、アーカイブ、検索などのページには
“current”は付かない。
これをWEBLOGに関するところでは全部”current”が付くようにする方法は、
WordPress Codexに条件分岐のテンプレートタグとして以下のように載っています。

<?php
add_filter('nav_menu_css_class' , 'special_nav_class' , 10 , 2);
function special_nav_class($classes, $item){
     if(is_single() && $item->title == "Blog"){ //この行は状況により変更が必要
             $classes[] = "special-class";
     }
     return $classes;
}
?>

因みに”is_single()”の条件分岐だと投稿やコメントの個別ページにしか”current”は付かないようだ。
“is_singular()”だとカテゴリー、アーカイブ、検索のページまでカバーされる。
ただ、注意しないとブログのトップページに”current”が重複して付いてしまったり、
他のアイテムを表示しているときにも同時に”current”が付いてしまう。
除外するための”!is_xxx()”(”xxx”のところには”single”,”singular”,”page”などが入る)を
忘れないようにしよう。

“weblog”というタイトルの公式テーマが登場して・・・

ちょっと都合が悪いことになってしまった。
というのも、このブログはサイトアドレス (URL)とテーマフォルダ名を同一にしていたため、
更新のお知らせが表示されるようになったのだ。
自分自身は更新ボタンなんかまずクリックすることはないだろうが、
新し物好きの人やセキュリティを重視する人などは進んでクリックするかもしれない。
デフォルトのファイルが同じでない限り、誤って更新すると大変なことになりそうだ。
この問題の対策としては、functions.phpファイルに更新のお知らせが表示されないような
コードを書き加えるか、サイトのアドレスとテーマフォルダ名を異なるものにするしかないようだ。
筆者自身は前者の対策がベターだと思う。
ただ、コードによっては特定のテーマだけを対象にできないものもあるので注意が必要だ。
後者の対策は色々と変更しなければならない点が多いので、あまりお勧めできない。
上の二つしかないと書いておきながら何だが、
他の対策としてはstyle.CSSファイルのバージョン番号を上げておくというのもあるそうだ。
ひょっとして、これが一番手っ取り早かったりして・・・。

既存サイトの子テーマフォルダ名を変更するとき

注意点がいくつかある。
もちろん、フォルダ名をただ変えただけでは駄目だ。
先ず、テーマを有効化し直さないといけない。
これで万事OKかと思ったら、そうは問屋が卸さない。
ディレクトリをphpのコードで取得していた場合は何の問題もないが、
画像などタグの直入力でアップしていた場合は変更が必要だ。
あと、ウィジェットで使っていたものは使用停止中になるので、
戻してやる必要がある。
タグの入力し直しが多い場合は、データベースを弄った方が楽かもしれない。

検索結果に欲しいヒット件数

検索結果:○○○ の下辺りに、
何件の記事がヒットしたかの件数表示があれば有難いと思うのは筆者だけだろうか。
ググってみると、件数取得のコードはたったの一行です。
前後に文章を入れてCSSのためのタグを加えたとしても一行で済みます。
編集するファイルはテーマフォルダ内のsearch.phpです。
この編集は絶対にお勧めです。

遅ればせながらrealtime-calendarの変更

もう先月のことになってしまいましたが、
山の日が祝日なのに背景色が平日のようになっていたので変えてみた。
8月11日の固定だからコードの追加も簡単です。
他の固定の祝日のコードをコピペして、
必要な箇所を変更すればハイお終い!
というか、ちゃんと表示されるか確認をして本当の作業完了。
余談ですが、今の天皇が生前退位したら
天皇誕生日はどうなるんでしょうか。
もちろん変更になるんでしょうが、
12月23日は平成の日なんかとして祝日になるのだろうか。

いつの間にかログイン方法が変わってる。

と言っても、ID欄に入力するものがユーザー名オンリーから
メールアドレスでも良くなったことだけの話なんだけどね。
WordPressに対する「ブルートフォースアタック」なる記事を読んだことがあるが、
この攻撃に使用されるIDは”admin”であるケースが多いらしい。
となると、いっそのことID欄はメールアドレスだけにした方が良いのではないかと
思えてくる。
まあ、ここで言うまでもないが、未だにユーザー名に”admin”を使っている人は
即刻変更すべきでしょうね。
ずっと前のWordPressは導入の際に、ユーザー名がデフォルトで”admin”だったために、
未だに変更せずに使い続けている人がいるんだよね。
今は任意のユーザー名を入力させるようになっているので、
まさか敢えて”admin”を使う人はいないと思うけど。。。
ドメインに含まれている文字をユーザー名として、そのまま使うのも良くないらしい。

コメント投稿フォームが変わったことに気付かずに・・・

変更されたと言っても、順番だけなんだけどね。
最近ブログ自体をあまりチェックすることがなくて、
気付きませんでした。
以前はコメント欄は一番下だったよね。
一般的な掲示板に慣れ親しんだ筆者にとっては、
違和感があります。
以前の順番に戻すコードが公開されているので助かりました。
CSSで対応することも可能らしいのですが、
今回はfunctitons.phpへのコード追記で戻しました。
このようなときには、子テーマ化する意義を改めて感じます。