雑誌に載っていたWPネタをいくつか|wordpress

Web Designing3月号のWordpressカスタマイズTips34を読みました。

普段必要に応じて自分で調べて色々と試しているので書いてあることはほとんど知っていて、流れに結構ついていけてることにほっとしました。

でもいくつかは目から鱗というか、知らなくて明らかに損していたので、気になったものを自分用にピックアップしておきます。

メインループ外での記事取得の方法

僕は普段結構query_postsに頼りがちです。リセットしてしまえば元に戻るので特に問題は無いといえば無いのですが、新たにwp_queryオブジェクトを生成するこのやり方のほうが記述の仕方としては正しいんですよね。

簡単な条件であればget_postsでも十分なのですが、get_postsは使用できるパラメータが若干少ないので、用途によっては使えない場合もありますしね。 今後はなるべくこちらを使用するようにしたいと思います。

<?php
$recent = new wp_query();
//生成したwp_queryオブジェクトに条件指定
$recent->query('post_type=post&showposts=10');
while($recent->have_posts()):
$recent->the_post();//現在の記事を$postにセット
?>
<div class="articles">
<a href="<?php the_permalink; ?>">
<?php the_title(); ?>
</a>
</div>
<?php endwhile;wp_reset_postdata(); ?>

こんな感じでしょうか。雑誌に載っていたコードを自分でちょちょっと変えていますが、一応上のコードで動作確認とれてます。

ショートコード

あらかじめfunctuions.phpに記述した関数を、記事の本文からショートコード呼ぶことでphpを動かすことができる書き方ですね。かねてより、本文中のphpの動作については頭を悩ませてました。記事中でphpの動作を可能にするプラグインなんかもありますが、セキュリティ的にちょっとまずいのでという懸念もあり、なかなか使う場面を選びますよね。

こんな手段があったとは・・・勉強不足でした。これからこれすごく使うと思います。便利だなあ。

まずはfunctions.php側にショートコードで使う関数と、呼び出すショートコードを定義します。今回はテンプレートフォルダのパスを呼び出すショートコードを書いて見ます。

//動かしたい関数定義
function template_folder(){
	return get_bloginfo('template_url');
}

//関連付けるショートコードの定義
add_shortcode('templa','template_folder');

これでOK。

あとは本文中に [templa] と記述すれば、テンプレートフォルダのパスが呼び出せます。

以前、記事まで含めて制作を進めて、本文中にテンプレートフォルダに入った画像ファイルをたくさん呼び出しているのに、ローンチ時にはごっそり別フォルダに移設しなければならない、という案件をやったことがありまして(そもそもWP案件でそれをやると事前のテストが結構意味無くなると思うので、そういう案件自体が異常なんですけれど・・・)そのときに本文中のパスに苦労したのですが、このときにこれを知っていれば・・・と悔やまれます。

スライドショーの実装

お客様に更新を引き継ぐサイトのトップでスライドショーなどを実装していた場合には、その写真を更新したい場合にどこでそれを書き換えてもらうかが課題になりますが、テンプレートを弄っていただくのはいささか危険なので、その部分をウィジェット化するなどで切り抜けてきていましたが、管理画面のメディアでその画像を管理できるプラグインがあるようです。

wp_cycle

こちらちょっと試してみたのですが、簡単なスライドショーを作るだけなら恐ろしく手軽で便利です。

プラグインをインストール(プラグインディレクトリにあるので、管理画面からいけます)すると「メディア」にwp_cycleという項目が増えます。その画面で画像をアップすれば、その画像がスライドショーの対象となります。あとはスライドショーを挿入したい箇所に<?php wp_cycle(); ?>と記述するだけ。

これはいい。これから使わせていただきます。これどうやら2010年の時点ではすでにあったようで、その頃から知っていたら・・・とこれまた後悔しきりです。

他にもいくつか

気になるネタが載っていました。そちらは、またそのうち試してみようと思います。

Facebook Tab Manager
Facebookのタブをwordpressで作成・管理できるプラグイン
WP Total Hacks
管理画面カスタマイズプラグイン。管理画面カスタマイズ自体は以前からいくつかありますが、見た感じとても使いやすそうです。
Cawaii Admin
こちらも管理画面カスタマイズプラグインですが、こちらは可愛くする一択です。これはこれで使いやすいのかも。