Archive for the Category »WordPress «

[WordPress]マルチサイトでパーマリンクの「blog」を削除する

 

約2年振りの投稿になってしまいました(笑)
最近はWordPressでのサイト構築が多くなってきたので、備忘録もかねて投稿しておきます。

WordPressは便利なもので、マルチサイト化をするとひとつインストールすれば、サブディレクトリ型で、いわゆる子サイトをいくつも作れるんですよね。
例えば企業のホームページをWordPressをCMSとして構築した場合
http://www.XXX.co.jp/ を親サイトとして http://www.XXX.co.jp/sub/ を子サイトとして商品紹介なんかしたいとき、子サイトは別のデザインとかで作りやすいんんです。
便利ですねWordPress。
これで基本無料だからすごいです。

ですが、親サイトのほうのパーマリンク構造に「blog」という文字が標準で当たり前のように入っています。
これを消す方法とかでネットワーク管理画面で設定タブの中の「Permalink Structure」にデフォルトで記述してある「blog」を消します。これでOK!という記事が多く見付けられますが、実はこれだとダメな場合が多いです。
これだと「http://www.XXX.co.jp/ポスト名」でURLが発行されますが、実際は「http://www.XXX.co.jp/blog/ポスト名」でないとアクセスできなかったりします。
またふとした操作で「blog」がまた復活したりします。


これは根本からおかしいと思い、いろいろ探すと「options-permalink.php」を直接編集するのがベストという結論になりました。

FTPでサーバにアクセスし、WordPress内「wp-admin」フォルダ内にある「options-permalink.php」を開くと通常は80行目付近に

$blog_prefix = ‘/blog’;

という記述があったので、これを

$blog_prefix = ”;

に上書きします。

これでバッチリです。
このあと、わざとパーマリンク構成を変えてみましたが、再び「blog」が付くことはありませんでした!!


しかし、これには落とし穴が。。。。

最近のWordPressは本体が自動更新されますが、自動更新されると「options-permalink.php」が初期化されて、また「blog」が復活してしまいます。
再度手動で同じように削除すればいいだけなんですが。


マルチサイトで運営している人の大多数は親サイトを「blog」で運営するケースはほぼないと思います。
逆に子サイトに「blog」を付けて運営したいケースが多いと思いますが、なんとそれは許可されないという仕様だったり。
この辺、WordPressに考え方変えてもらいたいですね。

ファイアバードでWordPressで「画像**はエラーのためアップロードに失敗しました」となるの対処方法

 

WordPressの投稿で画像をアップロードしようとすると、

“●●●●.png” は、エラーのためアップロードに失敗しました
ディレクトリ /var/www/vhosts/ホスト名/httpdocs/wp-content/uploads を作成できませんでした。この親ディレクトリのアクセス権はサーバーによる書き込みを許可していますか?

となって、アップロードできない!!
いろいろ調べてみると、PHPのセーフモードが原因とかパーミッションの問題とかの記事ばっかり。
ただセーフモードはもともとオフだし、パーミッションを777にしても707、755、705等にしても変化なし。
お手上げかと思ってたら、根本的な問題だった。

サーバーのフォルダ構造が違っていただけ。。。
「管理画面」の「設定」で「メディア」設定ページで、「アップロードするファイルの保存場所」というところを修正しなくてはいけなかった。

WordPressはデフォルトだと「/var/www/vhosts/ホスト名/httpdocs/wp-content/uploads」という感じなんだけど

ファイアバードは「/var/www/vhosts/ホスト名/httpdocs/」じゃなくて「/home/サーバーID/ドメイン名/public_html/」が正しいそうだ。

なので、該当する部分は「/home/サーバーID/ドメイン名/public_html/wp-content/uploads」にしないといけない。

screenshot
↑赤い部分を修正する

セーフモードもパーミッションも関係なかったということで。
ファイアバードをはじめ、ネットオウル関連のサーバーを利用している方はご注意を。

他のレンタルサーバーを使用している人も、これが原因かもしれないので、チェックしてみてください。

WordPressで「○○に含まれる投稿をすべて表示」を非表示にする

 

このサイトはブログだから消してないけど、WordpressをCMSとして企業のホームページとして利用したりしてた場合、カテゴリ一覧にマウスオンしたときに「○○に含まれる投稿をすべて表示」と表示されるのが邪魔、っていうよりカッコ悪い。
だから消したいなと思う人も多いとおもう。

以前、自分はja.po、ja.moファイルの「%s に含まれる投稿をすべて表示」を手動で削除していたんだけど、これだとWordPressのバージョンUPの際、ファイルが上書きされてしまうため、毎回修正しないといけない。

あとはここのサイトのようにコアファイルを直接変更する方法もあるようだが、これもバージョンUP時に上書きされるから結局同じ。

もっと簡単な方法がないかと調べてたらあった!!
とりあえず、WordPress「管理画面」のカテゴリー設定ページで「説明」というところが未入力だとこの様に表示されてしまうみたい。
だから、ここに例えばカテゴリ名と同じテキストを入力すれば解決。
まあなんと簡単。

screenshot
↑緑で囲んだ部分を入力しておけばOK!

Category: WordPress  Leave a Comment  Tags:

「Google Chart API」を使ってのQRコード表示に変更してみた

 



モバイルへのアクセス支援にPCサイトにQRコードを表示させるのが増えてきている。
このサイトもPCサイトとモバイルサイトが共通URLで表示されるので、サイドバーにQRコードを表示している。
今まで、その表示のためにWP-QRcodeという、素晴らしいプラグインを使用してきたのだが、「Google Chart API」を使えば、プラグインなしでQRコードが生成されるということで、さっそく使ってみた。

参考にした記事
[Google]QRコードを誰でも簡単に自動生成、表示する方法

ちなみに自分はサイドバーに表示させたいので、テーマのウィジェット機能を使って表示させています。
で、そのままウィジェットにPHPコードを書いても反映されないのでExecutable PHP widgetというプラグインでPHP Code Widgetとして使っています。

そしてこの記事どうり表示させると問題が発生。

まずトップページでもQRコードを表示させたいのだが、パーマリンク取得だとトップ記事のQRコードが表示されてしまう。
そして、このサイトの各記事のURLは日本語を含んでいるのでQRコードはURLエンコードされて正しく表示されているようだが、携帯で読み取ると正しくデコードされない!!!

さてどうしたものか。。。
最終的になったコードがこれ!

<?php if(is_home()||is_front_page()):?>
<div align="center"><img src="http://chart.apis.google.com/chart?chs=120x120&choe=UTF-8&cht=qr&chl=<?php bloginfo('siteurl'); ?>&chld=M|1" alt="このページのQRコード" width="120" height="120" /></div>
<?php else: ?>
<div align="center"><img src="http://chart.apis.google.com/chart?chs=90x90&choe=UTF-8&cht=qr&chl=<?php echo wp_get_shortlink(); ?>&chld=M|2" alt="このページのQRコード" width="90" height="90" /></div>
<?php endif;?>

一つ目はPHPの条件分岐でトップページとそうでない場合とで、吐き出すコードを変えることで対応。

二つ目はショートリンクを出力させて回避しました。
そもそも自分のサイトなんですが、ここはアドレスが長い。
さらにURLエンコードしてるもんだから、さらに長い。
それをショートリンクという便利な機能が、WordPressのバージョン3から実装されたということで、それを使わない手はないかなと。

これだけでも十分よくなったのですが、さらにショートリンクをもっと短くできるプラグインがあったので、それを使った。
その名も「Goo.gl
名前から分かるとおり、あのGoogleの短縮URLサービスを使えるプラグインである。
これを有効にすると、一瞬にして過去の記事のGoogle短縮URLが生成され、テンプレとかでショートリンクを取得するコードは、これ以降goo.glの短縮URLになる!

今まで
http://www.alessandromcbee.com/?p=219
これから
http://goo.gl/tFbnO

なんと、URLの長さ37文字がたった19文字!約半分に!!
しかも簡単なアクセス解析も出来るという。

素晴らしいサービスを提供してくれるGoogleと、素晴らしいプラグインを作ってくれた作者に拍手を送ります。

ただドコモの場合、1回リダイレクトが起こります。
「サイトが移動しました」みたいな警告が出る感じ。
まあOK押せば問題ないので。

あと、このプラグインを入れたおかげで、モバイル版のツィート機能も短縮URLが表示されるようになりました。
PCだと自動的にツィッターが短縮URLを使ってくれるんだけど、モバイル版にはその機能がなかったからね。


ひとつプラグインに頼らなくなり、代わりに新たなプラグインのお世話になる。
なんだかな~~

WordPressにmixiイイネ!&mixiチェックボタンを設置してみた

 





mixiとの連携を強化してみようと思い立って、mixiチェックのWordPress & Movable Typeプラグイン公開というページを参考にmixiイイネ!とmixiチェックボタンを追加してみた。

最初にmixiのデベロッパー登録というのが必須となるようなので登録する。
登録の方法はhttp://developer.mixi.co.jp/about-platform/com/developerで紹介されています。
で、そのページにもmixiチェックをWordPressに設置するプラグインが公開されているんだけど、これがチェックだけでイイネ!ボタンは手書き方法しかない。

うわ面倒くさ!と思ったら、さすがはプラグイン豊富なWordPressです。
両方を設置できるプラグインがありました。
mixi Plugin for WordPress

ただ世の中にはもっと便利なプラグインもありまして、WP Social Bookmarking Lightというプラグインはmixiイイネ!とmixiチェックの他にも、ほぼ全部のソーシャル的なボタンが設置できるという優れものでした。

WP Social Bookmarking Lightは、エントリー記事の先頭か末尾にボタンリンクを追加するプラグイン仕様のようなので、トップ画面などの一覧には表示されません。
mixiイイネ!は一覧からでもポチッとしてもらいたかったので、mixi Plugin for WordPressと併用することにしました。
そしたらイイネ!の数が別々のプラグインなのに連動している!当たり前ですけど、プラグイン作者が凄いのか、mixiの元々の仕様が凄いのか!

ちなみにモバイル版には、ツィートボタンとmixiチェックボタンを付けてみました。
モバイル版はKtaiStyleというプラグインで表示しているので、プラグインにプラグインというのは少ないみたいなので、直接手書きで設置してみました。
その方法は次回書きます。
あとモバイルのmixiイイネ!ボタンはこれから実装してみます。