ショートコード —- 指定したURLのタイトルを表示してリンクを作る

2008/09/21 update!
前回、ご紹介したショートコードを発展させました。

前回はURLそのものが表示されてそこにリンクがついたのですが、今回は、そのURLのタイトルを表示してそのURLへのリンクを作るショートコードです。

指定したURLから、そのタイトルを抽出する”だけ”のプログラムを

のサイトを参考にさせていただきました。(^^;)ほぼそのまんまですが。。。

使い方は、

[link2]リンクしたいURL[/link2]

です。1つの記事の中で複数使う場合は、重複しないようにIDをつけます。名前はなんでもかまいません。

例えば、

[link2 id="lk1"]http://nakamura.tea-pot.jp[/link2]

という具合です。すると、URLの部分がそのURLのタイトルが表示されたリンクになります。

例として:

[link2 id="lk2"]http://nakamura.tea-pot.jp[/link2]

この実行結果:

中村家のほーむぺーじ

■重要–<p>対策!■
どうも、wordpress 付属のエディターは(お使いの方はおわかりのとおり、)ちょっとクセがあります。ソースを見ると勝手にタグを書き換えちゃったり改行してあったり。。
一番困ったのは、このショートコードの両端に、<p></p>をつけた場合、投稿するとこの<p></p>が削除されてしまうことです。
そこでこれを回避するために、
<p><p>[link2]URL[/link2]</p></p>
と、<p>タグを二重にしてみてください。

注意!!

上記のコードはコードが実行されないように全角で書いていますので

このままコピーペースとしても動きません(^^;)悪しからず。。。

このショートコードを動かすには下記のファンクションをテーマファイルのなかのfunction.phpに追加します。

Read the rest of this entry »

ショートコード—リンクをつける

こだわらない写真ブログ

[link]http://photo.tea-pot.jp[/link]

これはわたしが初めて作ったショートコードです。

[link]URLを書く[/link]

これで、上記のようにリンクがつけられます。

だからどうした、というようなものですが、私にはちょっと便利なショートコードです。

プラグインで自動リンクのがあるのですが、入れてみたらほかのプラグインと競合したらしく、はずしてしまったのです。

それで自分で簡単なものを作ってみました。

function link_func($atts, $content){
return '<a href="' . $content . '">' . $content . '</a>';
}
add_shortcode('link','link_func');

こんな感じです。:mrgreen:

このコードを、テーマファイルのfunction.php に追加コピーしてください。

それで使えるようになります。

英語→日本語翻訳ショートコード

前に紹介しました、翻訳ショートコード[gtranslate]訳したい言葉[/gtranslate]は、日本語→英語でしたが、それを改造して英語→日本語版を作ってみました。(^^;)改造ってほどでも。。。

[gtranslate2]訳したい言葉[/gtranslate2]

というように使います。

機械による直訳ですからへんてこりんになりますけどね:mrgreen:

[gtranslate2]Plugins can extend WordPress to do almost anything you can imagine. In the directory you can find, download, rate, and comment on all the best plugins the WordPress community has to offer.[/gtranslate2]

[gtranslate2]Plugins can extend WordPress to do almost anything you can imagine. In the directory you can find, download, rate, and comment on all the best plugins the WordPress community has to offer.[/gtranslate2]

Read the rest of this entry »

Google Map API キーを取得しました。

登録すると、自分のブログにGoogleMapを貼り付けることができるそうです。

それに加えて、テック堂さんによるショートコード http://www.tech-do.com/blog/archives/42

を利用すると、住所をショートコードで囲むとそのマップが表示されます。

なかなか便利なショートコードです。

ためしにやってみました。

うちの近所の公園です。

ワンコのミディをよくお散歩に連れて行くところです。

[gmapwithgc width="400px" height="350px" zoom="10"]稲毛海浜公園[/gmapwithgc]

ショートコード—-Google翻訳

http://www.tech-do.com/blog/archives/39(テック堂)さんによると

[gtranslate]翻訳したい言葉[/gtranslate]

このショートコードは、Googleの翻訳APIをひっぱてきて、コードで囲まれた言葉を翻訳して、投稿時に表示するものです。

例:

[gtranslate]私はアイスクリームが大好きです[/gtranslate]
[gtranslate id="test1"]私はアイスクリームが大好きです[/gtranslate]

テック堂さんのところのコード(下記に引用)をテーマフォルダのfunction.phpに追加すると使えるようになります。

// [gtranslate (sl="SourceLang" tl="TargetLang" id="id")]content[/gtranslate]
// タグに囲まれた部分をgoogle翻訳する(デフォルトは日→英)
function gtranslate_func($atts, $content='') {
extract(shortcode_atts(array(
'sl' => 'ja',
'tl' => 'en',
'id' => 'gtrans',
), $atts));
return <<<_EOT_
<div id="$id"></div>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("language", "1");
function initialize() {
google.language.translate("$content", "$sl", "$tl", function(result) {
if (!result.error) {
var container = document.getElementById("$id");
container.innerHTML = result.translation;
}
});
}
google.setOnLoadCallback(initialize);
</script>
_EOT_;
}
add_shortcode('gtranslate', 'gtranslate_func');

注意:

このショートコードを複数使うときは、IDを重複しないように指定してあげないと、へんてこりんになります。
※タグの自動挿入プラグインを使っていると、機能が競合して、翻訳ができなくなる場合があります。
私の場合は最初動いていたのにしばらくすると動かなくなり、ソースを調べていたら、タグの自動挿入と翻訳jabascriptの書込みがバッティングしてまぜこぜになっていたので、タグの自動挿入を無効化してみたら、翻訳できるようになりました。
ソースを見るときれいになっていました。

[gtranslate id=”trans2”]きょうもたくさん食べました[/gtranslate]

[gtranslate id="test2"]きょうもたくさん食べました[/gtranslate]

Read the rest of this entry »