スポンサーサイト

--/--/-- (--)
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリー: スポンサー広告
WordPress2.5から追加されたショートコードをご存知でしょうか。
簡単に言えば、記事中から関数を呼びだすようなものなんですが、これが結構便利なのでよく使っています。

WordPressを普通にブログとして使っている分には、まったく関係ないですが、CMSとして使っていると、どうしてもPHPを実行させたい時があります。

プラグインのrunPHPを使ってもいいですが、あまり詳しくない方に記事を書いてもらう場合、ちょっと危険です。
また、bloginfo()を使いたいことも、しょっちゅうあります。

こんなときに、ショートコードを使うと便利です。

記事中で bloginfo() を使いたい場合



使用中のテーマにあるfunctions.phpに以下のコードを書きます。


function sc_bloginfo($atts, $content = null) {
extract(shortcode_atts(array(
'arg' => ''
), $atts));

return get_bloginfo($arg);
}

add_shortcode('bloginfo', 'sc_bloginfo');


そして、記事に


<img src="[bloginfo arg="template_url"]/img/sample.jpg" alt="" />


と書きましょう。すると表示する際に


<img src"http://www.example.com/wp-content/themes/default/img/sample.jpg" alt="" />


として出力されます。

template_url の部分は、bloginfo() の引数なら何でも使えますので、[bloginfo arg="url"]なども使えます。


現在の記事と同じカテゴリの記事リストを表示したい場合



functions.phpに以下のコードを追加します。


function sc_list($atts, $content = null) {
global $post;

$cur_cat = array_shift(get_the_category());
extract(shortcode_atts(array(
'num' => 5,
'cat' => $cur_cat->cat_ID,
'format' => 'Y/m/d'
), $atts));

$myposts = get_posts('numberposts=' . $num . '&order=DESC&orderby=post_date&category=' . $cat);
$ret = '';

foreach ($myposts as $post) {
setup_postdata($post);
$ret .= sprintf('<li><a href="%s">%s</a> <span class="published">%s</span></li>',
get_permalink(),
get_the_title(),
get_the_time($format));
}
return $ret;
}


記事に

[list /]


と書けば、記事のリストが5件表示されます。


[list num="3" cat="2"]

にすると、カテゴリIDが2の記事を3件表示します。


このようにrunPHPを使わなくても、結構いろんなことが出来ます。
他にもカスタムフィールドをテーブルで表示させたり、wp_* の関数を呼び出したりと色々使い道があるので、ぜひ活用してみてください。

ショートコードの詳細は、ショートコード APIをご覧ください。
スポンサーサイト
Google Sitemap Generatorといえば、sitemap.xmlを生成してくれるプラグインですが、Googleのモバイルサイトマップには対応していません。

モバイル サイトマップを作成するの仕様に合わせソースを弄ることにします。
(そのうち対応してくれると思いますが・・・)

まず、ネームスペースを追加します。
sitemap-core.phpの1784行目に<urlset>を生成している箇所がありますので、
xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0"
を挿入してやります。

つぎに、<mobile:mobile/>を追加します。
sitemap-core.phpの523行目の
$r.= "\t</url>\n";
の前に
$r.= "\t\t<mobile:mobile/>";
を追加します。

以上でモバイルサイトマップに対応できます。
携帯サイトをWordPressで構築する際には必須かと思います。

※行番号は、Google Sitemap Generator 3.1.0.1のものです。
WordPressを2.6にアップグレードすると、日本語のタグ名がwp_title()やsingle_tag_title()で表示されなくなります。
解決方法としては、スラッグを英語でつけるか、
wp-include/taxsonomy.phpを以下のファイルで上書きしましょう。
http://trac.wordpress.org/export/8364/branches/2.6/wp-includes/taxonomy.php

WordPressのフォーラムによると、WordPress2.6.1で改善されるそうです。(実際に試して直りました)

2.6.1がでるまで待てない人は、試してみてはいかがでしょうか。

3月末をもってWordPress Japanが閉鎖しました。
今後は本家の日本語版(WordPress2.5)を利用することになりそうです。
http://ja.wordpress.org/

アップルグレード方法
http://ja.wordpress.org/upgrade/

変更点
http://ja.wordpress.org/2008/03/30/wordpress-25/

Safariにおけるリッチテキストエディタの不具合が改善されているようなので、Macをお使いの方で仕方なく、Firefoxを使っている人には朗報ではないでしょうか。
今さらですが、IEの特許関係で<object>タグの仕様変更に対応するプラグインです。
QuickTime専用です。
http://developer.apple.com/internet/ieembedprep.html
↑ここにあるAC_QuickTime.jsが必要なので、<head>~</head>内で読み込んでおきます。
記事の方には
{{ QuickTime: hogehoge.mov?width=200&height=100&autoplay=false&controller=true }}
のように書くことで、この部分がjavascriptに置き換えられます。
改行されていますが、実際には1行で書きます。

Embed QuickTime v0.1 ダウンロード
拡張子の.txtを削除して解凍してください。

Introduction

WordPressを使って一般的な(ブログっぽくない)サイトを構築する際のポイントをまとめています。

サイト内検索

ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。