ショートコードを使って投稿ページから関数を呼び出す
function.phpにショートコードの設定を追記する。
function.php
[php]
function func() {
return "サンプルです。";
}
add_shortcode(‘shortCD’, ‘func’);
[/php]
投稿ページの好きな箇所に作ったショートコードを記述する
[html]
[[shortCD]]
[/html]
結果
ショートコードを使って投稿ページからテンプレートタグを呼び出す
同じようにして、次はWPのテンプレートタグを呼び出します。
以下の例ではブログ名を取得。
[php]
function func() {
return get_bloginfo(‘name’);
}
add_shortcode(‘shortCD’, ‘func’);
[/php]
投稿ページの好きな箇所に作ったショートコードを記述する
[html]
[[shortCD]]
[/html]
結果
ショートコードを使ってSQLを叩く
自作テーブルを追加してデータ管理をしてみるでやったように、追加したオリジナルデータもショートコードを使えば投稿ページから呼び出すことが可能(以下の例では既存テーブルからSELECT)
記事タイトルを一件取得して表示する
[php]
function func2(){
global $wpdb;
$response = $wpdb->get_var("SELECT post_title
FROM $wpdb->posts");
return $response;
}
add_shortcode("shortCD2", "func2");
[/php]
投稿ページの好きな箇所に作ったショートコードを記述する
[html]
[[shortCD2]]
[/html]
結果
ショートコードを使ってSQLを叩く2
次は、投稿ステータスが「公開済み」の記事の一覧を取得して表示
[php]
function func3() {
ob_start();
global $wpdb;
$data = $wpdb->get_results( "
SELECT post_title
FROM $wpdb->posts
WHERE post_status = ‘publish’
" );
foreach ($data as $value) {
echo $value->post_title . "<br />";
}
return ob_get_clean();
}
add_shortcode("shortCD3", "func3");
[/php]
ショートコードの関数内を「ob_start()」と「return ob_get_clean();」で囲ってバッファリングすることで、
ショートコードを記述した位置にきちんと表示させるようにしている。
投稿ページの好きな箇所に作ったショートコードを記述する
[html]
[[shortCD3]]
[/html]
結果