こんにちは
function 投稿本文(){
the_content();
}
投稿本文();
くらいなら、動くと思いますが、ショートコードだと、そもそもそれがショートコードだと評価しないんじゃないかと思います。
自前でやるとすると、例えば、the_content フィルタなどで、記述パターンを検索して、置換するような関数を書くと、類似の事は出来ると思います。
実際の例は、自分のテーマで恐縮ですが、
https://wordpress.org/themes/raindrops/
というテーマで
新規投稿をしたときに
投稿本文に以下のようなショートコードっぽい(でもショートこーではないんですが)コードを記述すると、ページの配色やカラム数を変更するという機能を付けています
<!--[raindrops color_type="light" col="1"]-->
これは、the_content フィルタで記述を検出して、配色などの変更をしています。
日本語でも処理できると思います。
結論から言えば日本語のショートコードは使えるようです。
テスト用プラグイン
<?php
/*
Plugin Name: Japanese Shortcode
Description: 日本語名のショートコード
*/
add_shortcode("タイトル","タイトル");
function タイトル ($atts) {
var_dump($atts);
return get_the_title();
}
編集画面
http://puu.sh/ipE7u/976aae0d17.png
プレビュー
http://puu.sh/ipE8J/b19fd8f41f.png
(あ、属性はダメでしたね…)
ショートコード検出正規表現みてもとりあえず問題なさそう。
注意点としてはUTF-8であることを確認すること?
お二方ともレスありがとうございます。
[会計仕訳]
[仕訳行 借方科目=”” 借方金額=”” 貸方科目=”” 貸方金額=””]
[仕訳行 借方科目=”” 借方金額=”” 貸方科目=”” 貸方金額=””]
[仕訳行 借方科目=”” 借方金額=”” 貸方科目=”” 貸方金額=””]
[/会計仕訳]
とかかけると
それぞれの業種の専用のテーブルをWP初級者に作ってもらうとき便利かなと
思って質問させてもらいました。
tagを日本語にできるだけでもラッキーでした。
一応解決済みにしておきますが、
属性を日本語にする方法とかありましたらまたお教えください。
ありがとうございました。
属性の名前を日本語にするにはWordPressコアのコードを修正する必要がありますね。
関数 shortcode_parse_atts が属性を単なる文字列から配列形式へ変換しているので、修正するならここかなと思います。
そのような用途で使いたい場合は
テーブル作成プラグインを使うか、データをカスタムフィールドに蓄積させて
テーブル出力するような仕組みを作ったほうが早い気がします。
どうちてもショートコードでやるなら
[会計仕訳]
[仕訳行][借方科目][/借方科目][貸方科目][/貸方科目][貸方金額][/貸方金額][/仕訳行]
[仕訳行][借方科目][/借方科目][貸方科目][/貸方科目][貸方金額][/貸方金額][/仕訳行]
[/会計仕訳]
というかんじで階層にすれば上手く行きませんかね?
余計に見難いきはしますが。