Wordpressを難しいと感じる人は、PHPが難しいと思っているケースが多いようです。
PHPの学習をしたいと思って参考書などを買っても、if文やfor文、php関数ばかり書いているので、Wordpressの関数の事は書かれてないので、Wordpressの勉強にはなりません。
でも、Wordpressの技術書を買ってみると、PHPの熟練者向きの内容で、その結果露頭に迷ってしまう人のために、今回のブログ記事を書いてみることにしました。
Wordpressの関数をどんな場面で使えばいいかをケーススタディしてみたいと思います。
これまでの学習でやった内容も入れているので復習と思って見てみてください。
Wordpress関数いろいろ
get_bloginfo($show, $filter)
$showをセットすることで色々なブログ情報が取得できます。
※$filter値は、使わないで問題ないです。
$showのいろいろ
name | サイトのタイトル※未登録もこの値が取得されます。 |
description | サイトのキャッチフレーズ |
wpurl | サイトのURL |
url | サイトのアドレス |
admin_email | 管理者のメールアドレス |
charset | サイトの言語設定 |
language | サイトの言語設定 |
version | Wordpressのバージョン |
stylesheet_url | style.cssのパス |
stylesheet_directory | テーマディレクトリのパス |
template_url | テーマディレクトリのパス |
template_directory | テーマディレクトリのパス |
rdf_url | RDF/RSS 1.0 フィードのURL |
rss_url | RSS 0.92 フィードのURL |
rss2_url | RSS 2.0 フィードのURL |
atom_url | Atom フィードのURL |
comments_atom_url | コメントの AtomフィードのURL |
comments_rss2_url | コメントの RSS 2.0フィードのURL |
※get_bloginfo($show)を、bloginfo($show)にすると、echoしなくてもよくなるので、直接記述の場合に便利です。
// get_bloginfoの場合
<h1><?php
$name = get_bloginfo('name');
echo $name;?></h1>
// bloginfoの場合
<h1><?php bloginfo('name');?></h1>
get_site_icon_url()
サイトアイコン(ファビコン)のURLが取得できます。
wp_get_nav_menu_items($menu_name)
テーマのカスタマイズで登録されたメニューリストが取得できます。
$menu_nameは、カスタマイズで登録した名称です。
取得した値は次のように文字列を取得します。
$menu_lists = wp_get_nav_menu_items('header_menu')
foreach($menus as $data){]
// メニューリストのURL
$data->url
// メニューリストのタイトル
$data->title;
}
get_template_directory_uri()
テーマディレクトリのパスが取得できます。
the_content();
投稿ページ、固定ページで、現在のページのコンテンツが、取得できます。
get_the_content()
投稿ページ、固定ページで、現在のページのコンテンツが、取得できます。
ただし、ショートコードが展開されません。
ページの種別を判定する関数
is_front_page()
トップページの場合に、trueを返します。
is_page()
固定ページの場合に、trueを返します。
is_single()
ブログ投稿ページの場合に、trueを返します。
is_home()
投稿一覧ページの場合に、trueを返します。
is_search()
検索結果ページの場合に、trueを返します。
おまじない系
URLをローカルパスに変換
管理画面の記事や固定ページの追加で、タグのsrc属性をURLではなく、サイト内のローカルパスの変換してくれるおまじないです。
functions.phpの中に記述しておくと、管理画面で有効になります。
add_filter(
'wp_get_attachment_url',
'delete_host_from_attachment_url'
);
add_filter(
'attachment_link',
'delete_host_from_attachment_url'
);
投稿や固定の記事内容でphp関数を実行する方法
Wordpressの投稿と固定ページの記事は、基本的にphpを実行できません。
それを補助する役割で
ショートコードという記述方法があり、[](ブランケット)で囲まれた中に、functions.phpでセットした、ショートコードの値を入れることで、phpのfunctionを実行させることができます。
ショートコードの基本の書き方
function view_foo_function(){
return 'foo';
}
add_shortcode('view_foo', 'view_foo_function');
[view_foo]
ショートコードに値を受け渡す方法
function view_bar_function($atts=[]){
extract(shortcode_atts(['text' => ''] , $atts));
return 'foo: '. $text;
}
add_shortcode('view_bar', 'view_bar_function');
[view_bar text='test']
受け渡し値が増えた場合は、適宜shortcode_atts()の中の連想配列に追記して使いましょう。
ショートコードにタグを埋め込む方法
function view_html_function($atts=[] , $content=null){
return 'html: '. $content .' -> link';
}
add_shortcode('view_html', 'view_html_function');
[view_html]<a href='https://google.com/'>google</a>[/view_html]
リンク
コードリファレンス集(英語)
0 件のコメント:
コメントを投稿