WordBench Nagoya 2月


はい、23日はWordBench Nagoya2月でしたー!
今回はみんな興味津々の2つのお題!
「カスタムフィールド入門」「アクションフック・フィルターフック入門」でした!
その後、時間が余ったんで久々のアンカンファレンス。

全部めっちゃためになりました!!!!

【カスタムフィールド入門】

■カスタムフィールド概要説明
実社会で「欄」が求められているようなフォーマット、書類がある。
履歴書、接待・交際費申請書、提案書などなどなどなど…。

→WordPressでは、真っ白な決まっていないフォーマットがある。
これを、「欄」を設けることができるようになる!
これがカスタムフィールド!!

普通の投稿では、管理しづらく、見つけにくい。これを解消しましょー。

■導入方法
Advanced Custom Fields

■表示情報
<?php get_post_meta($post->ID,’Field_key’,true); ?>
⇒これについては、先日の記事を参照「get_post_meta()の値が複数ある場合

ほかにもいろいろquery_postsとかいろいろあるよ。

■ワークショップ
実際に実装しました!

(補足)
$post->IDとは・・・
グローバル変数、という。すべての値、という意味。
IDは、すべての値から、該当するIDのものを取ってくる、という意味です。

◎感想
実はカスタムフィールドテンプレートを使ってお仕事することが多くてですね、
カスタムフィールドそのものは、ある程度の実装は
気にしてはいませんでした。

ですが、カスタムフィールドテンプレートを調べていたときに出てきて
気になっていた「Advanced Custom Fields」を触ることができたのは
大きな収穫でした!
カスタムフィールドの記述を、強制記述の指定を行ったりするのが
できるのはデカいですね!
これで、カスタムフィールドテンプレートのような、fieldset機能があれば
文句ナシですよ!もっとAdvanced Custom Fields,使ってみようと思いました~。

————————————————————————————

【フィルター・フック入門】

■アクションフック・フィルターフック使って処理を追加

◎アクションフック
子テーマのfunctions.php

<?php
add_action(‘★フック名★’,’■実行する関数名■’ );
function ■実行する関数名■() {
●実行する内容●
}

◎なんでheader.phpに直に書かないの??
テーマの大規模なアップデートに追従するのを捨てて子テーマを作ったりするのは、
メンテナンスが面倒すぎたり、管理画面のCSSをいじるときに使ったりする。

◎アクションフックってどこに存在すんの??
→Google先生に聞け!w「アクションフック一覧」(Codexが一番上ですw)

◎フィルターフック
add_filter(‘★フック名★’,’■実行する関数名■’);
function ■実行する関数名■() {
●実行する処理●
return ▲処理する変数名▲; // returnで変数を新しく返す
}

ポイント!
apply_filters(‘★フィルターフック名★’) で検索してみるとよいかも?

■プラグインつくってみよう!
アクションフック・フィルタフックの上に、必要事項(たぶんググればわかる)を記載して
保存してpluginフォルダに上げれば、プラグイン完成!

■フックは外せるよ!
remove_action(‘wp_head’,’adjacent_post_rel_ink_wp_head’);

とか・・・

(感想)
なんか本当にプラグイン作れるんじゃね?! と思えるようになりました。
…まあ、本当に作れるようになるのは遥か向こうのことでしょうけどw
プラグインとまでいかなくても、functions.phpに書き込めば機能するわけだし、
アクションフックなど調べていけば、ひとつひとつ潰しは利きそうですよね!
あとは実戦あるのみ! 改めてがんばろう!って思いました。

————————————————————————————

そしてアンカンファレンス。
日ごろの分からないアレを、ozone notesのマイペースクリエーター、けいさんに聞きまくり。

■たまにコードに出てくる「return XXX;」ってなんじゃらほい?
↓コレのこと、コレ。
add_filter(‘★フック名★’,’■実行する関数名■’);
function ■実行する関数名■() {
●実行する処理●
return ▲処理する変数名▲; // returnで変数を新しく返す
}

お恥ずかしい話ですが、自分、正規にプログラミングというものの勉強をしたことが
なく、気にはなってはいたのですが、度々理解できずに挫折してました。

で、けいさんが教えてくれたのが
「新しくできた変数は、{}の中でしか使えないけど、
add_filter(★)の、(★)に渡してあげる必要があるでしょう。
{}の外へ出してやれるようにするのがreturnの役目ですよー

w(・o・)wおぉ、そんな役目があるのか。分かりやすい説明!
長年の疑問がひとつ解けました。
これだけでも大収穫です! また、プラグインできるような気がしてきたw

(けいさんが分かりやすく説明するためにそう言っただけで、
ひょっとしたら語弊があるかも知れませんが、
それはけいさんが悪いのではなく、僕の頭が悪いので、そこはご愛嬌ということでw)

そこでアンカンファレンスに同席していたさっこさんが
「グローバル変数とどう違うんだろう」と仰られてGGってましたが…
出てきたのは「グローバル汚染」という言葉。

けいさんより改めて解説してもらえましたが、
グローバル変数というのを使うのは、正規のプログラマさんから見ると、
あまりいいものではないらしいです。
グローバル変数をいっぱい使いまくったがゆえに、
逆にグローバル変数に縛られてしまうのをグローバル汚染、というのか言わないのか…。

あともう一つ、収穫があったのですが、
ちょっと解決になっていないので、また今度書きます。

WordBench Nagoya2月、ちょー良かったです★

WordBench Nagoya 2月」への1件のフィードバック

  1. ピンバック: UserAgentごとに読み込むソースコードを変える | くまみむめも

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This blog is kept spam free by WP-SpamFree.