カンタンWordpress #10「PHP機能アラカルト」

2023年1月21日

Tips Wordpress 特集

eyecatch 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サイトの言語設定
versionWordpressのバージョン
stylesheet_urlstyle.cssのパス
stylesheet_directoryテーマディレクトリのパス
template_urlテーマディレクトリのパス
template_directoryテーマディレクトリのパス
rdf_url RDF/RSS 1.0 フィードのURL
rss_urlRSS 0.92 フィードのURL
rss2_urlRSS 2.0 フィードのURL
atom_urlAtom フィードの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]

リンク

コードリファレンス集(英語)

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。