Neo Inspiration

Avatar

中の人:jakkrokk (HN統一しました) がphp,javascript,air,flex などなど好き勝手書いてます。仕事は主にWEBシステムの設計と開発、SEO全般など。

WordPressのパーマネントリンクを切り替えた時のリダイレクト設定

そういえば元もとこのブログはWordpressのデフォである

http://neoinspire.net/?p=1

みたいなURLだったんですが、
いつかGoogleのテストもかねて今の形に変えたんですよね。
そんときにぜんぜん切り替わってくれなかったのは覚えてるんですが、
ふと Google Webmaster Toolsを見ていたら旧URL経由で
404を返すページが結構あることに気づいて、
しょうがないので .htaccessでフォルダごと というか
正規表現マッチで全部移動させることに。

まあ一瞬だろ っておもってこんな感じで書く。

Redirect permanent /?p=(.*)$ http://neoinspire.net/archives/$1

動かないww

で10分ほど調べたところでポン。
RedirectMatch じゃんね。

ついつい RewriteRule の時のようにそのまま正規表現書いちゃうんだけど
Redirectじゃ正規表現使えなくて
RedirectMatchを使うんだった。。。

ってことでこんなかんじになりました。

RedirectMatch permanent /?p=(.*)$ http://neoinspire.net/archives/$1

これで /?p=*** を全部今のURLに301で飛ばしてくれる!

WordPressのテーマを変えました。ついでに複数widget対応してみました。

ちょうど自作のWordpressに乗り換えてから丸二年たったこと、
また長く前のテンプレートを使ってたのと、
仕事でテンプレートの量産をすることになったので、
勉強がてら落ちてるテンプレを回収して とかやってました。

意外とめんどかった。。

今回手間取ったのが複数widget対応で
検索して出てくるブログがどれこれも間違ってるww
google先生もそのソースが動くかどうかまでは検索結果に反映してくれないようです。

で、その動かないソースは大抵こんなかんじで書いてあって、

if ( function_exists('register_sidebar') ) {
    register_sidebars(2);
    register_sidebar(array(1,
        'before_widget' => '',
        'after_widget' =>'',
        'before_title' => '',
        'after_title' => '',
    ));
    register_sidebar(array(2,
        'before_widget' => '',
        'after_widget' =>'',
        'before_title' => '',
        'after_title' => '',
    ));
}

これじゃ動きません。
しかもこんな感じのソースが3つくらいブログにのってたなぁ。
コピペしただけで、使わずに満足でもしたんだろうか。。

で結局ソースを当たって、あとドキュメント読んだらこんなかんじでした。
http://codex.wordpress.org/WordPress_Widgets_Api/register_sidebars

まずfunction名が register_sidebars です。

で次に

    register_sidebars(2);

これはいらない。

そして

    register_sidebar(array(1,

これは関数名も違うし引数の順番も違います。
正しくは第一引数がwidget番号、第二引数がハッシュで表示するwidgetのテンプレート部分です。

実際はこうなります。
if ( function_exists('register_sidebars') ) {
    register_sidebars(1,array(
        'before_widget' => '',
        'after_widget' =>'',
        'before_title' => '',
        'after_title' => '',
    ));
    register_sidebars(2,array(
        'before_widget' => '',
        'after_widget' =>'',
        'before_title' => '',
        'after_title' => '',
    ));
}
まあだけど

修正はめんどくさいけど、テンプレートはいいのがたくさん落ちてるし、
CMSはやっぱり楽でいいですね。

WordPressの投票プラグイン

いい加減wordpressも卒業しないとなあと思いつつ
ちょっとしたサイトだとwordpressを使って作ってしまうのが。。

プラグインが充実してるししょうがないのかな。
いまだにXoopsが繁盛してるのもそーいったところなのかも。

—-

まあ タイトルの件ですが、
新年1発目にしては地味ですが、
ちょうど探す機会があったので。

投票機能で割といいなと思った2つがこちら

1:http://blog.jalenack.com/archives/democracy/
2:http://www.tevine.com/projects/voteitup/

コンテンツを作って投票

1のほうはサイドバーとかにおいたりして、
質問単位で管理するタイプの投票プラグイン。

プラグインフォルダにアップさえしてしまえば
あとは管理画面の投稿メニューのところに画面が追加されるので、
そこで、ON、OFF、投票の修正とかができます。
ただ、これはページ単位では管理できないので、
記事の投票機能としては使えません。
逆にサイドバーにコレコレについてどうおもいますか みたいな質問をおいておく
ものとしてはかなりいいモノです。

記事単位で投票

2のほうは1とは逆にコンテンツ単位で投票できるタイプ。
ようは記事がよかったらポチしてくださいねみたいな
はてなスターみたいな感じの役割。
管理画面は設定のところに追加されます。(これ指針だして統一してほしいよなぁ)

記事単位で投票はできますが、
質問を作ってそれに対して投票みたいなのは
一工夫(wordpressの記事そのものを質問にしないといけない)
が必要だったりするので、
そういう使い方をする場合は1を使ったほうがよいでしょう。

ちなみに今回のサイトでは両方使いました。

ということで

新年あけましておめでとうございました。

Continue Next page

Twitter