Más contenido relacionado
La actualidad más candente (20)
Similar a WordPress初心者からの脱出! カスタムなんとかをちゃんと理解する (20)
Más de Takashi Uemura (20)
WordPress初心者からの脱出! カスタムなんとかをちゃんと理解する
- 2. 自己紹介
@uemera uemura
• 上村崇 ( うえむらたかし )
• フリーランスのシステムエンジニア
• プログラミングやサーバ構築を含むWebシステム
構築が主な仕事。
• 最近はFuelPHPを使っています。
• IT 業界のキャリア 10 年ちょっと
• 西宮在住
- 3. 最近のオレ
XOOPS
勉強会準備
WordBench,
サーバ関係 PHPフレームワーク
JavaScript
FuelPHP、CodeIgniter
jQuery
WordPress
主に技術サポート
SoyCMS
ネットショップのメンテ
サーバインフラ Excel VBA
VPS構築 経理ソフト
- 8. タイトル
記事
管理画面にログインして標準の記事投稿を見ると、
タイトルとブログ記事を書くところしかありません。
つまり「タイトルフィールド」と「記事フィールド」しかありません。
「カスタムフィールド」を使うと、これ以外に入力できるフィールドを増
やせます。
- 15. しかし、カスタムフィールドで入力
したデータはそのままでは表示され
ません。
表示させるためには、テーマのテン
プレートファイルを改造する必要が
あります。
カスタムフィールドデータを入
れたのに表示されていない!
- 16. twentytwelveテーマフォルダの中に存在する
テンプレートファイル content.phpを編集します。
(wp-content/themes/twentytwelve/content.php)
content.phpの
the_content がある行の下に
<?php the_meta(); ?> ?>
<?php the_meta();
を追加。
- 19. カスタムフィールド利用の例
デフォルトの記事の表示順は でも「 席数の降順 」
投稿日時の降順になっています。 に出るようにしたい。
記事3 (1月3日投稿)
席数 98 席数 102
アベーテ
記事2 (1月2日投稿)
席数 58 席数 98
リストランテ マキャベリ
記事1 (1月1日投稿)
席数 102 席数 58
コルティブォーノ
「投稿日付で並び替え」や「タイトルで並び替え」はカスタムフィールドを使わなくても
実現できますが、ユーザが独自に作った「席数」での並び替えはカスタムフィールドを使
わないと実現できません。
- 20. index.phpに、
席数の降順で記事を表示するためのロジックを追加します。
index.php の have_posts() の前に追加します。
meta_key: カスタムフィールドのキー
orderby: 並び替える対象。カスタムフィールドの
値を数値で比較し並び替える場合に
meta_value_num を使います。
※参考: 文字列比較する場合は meta_value で。
order: 並びかえの方向。
DESC は降順。 ASC は昇順。
詳しくは「query_posts」で検索しよう。
- 22. そのほか、
カスタムフィールドはこういう使い方ができます。
• 投稿において、「タイトル」のほかに例えば「サブタイトル」のよう
な、すべての記事に決まったフィールドを入力したい場合。どの記事
にも必要な追加項目がある場合はカスタムフィールドを作って入力を
忘れないようにすると便利です。
• フィールドA(数値)と、フィールドB(数値)の入力欄を用意し、
記事表示にはその計算結果(A✕B)を表示させたい場合。
• WordPressに詳しくない第三者に記事を書かせる場合、記事投稿欄
に入力するやり方よりも、 カスタムフィールドという特別な入力欄
があると記入箇所を誘導しやすいです。
- 25. 投稿
固定ページ
WordPressでは「投稿」と「固定ページ」が標準で利用できます。
・投稿 ・・・・・ post という投稿タイプ名で管理されます。
・固定ページ・・・ page という投稿タイプ名で管理されます。
これ以外にも、ユーザが第3の投稿形式を新しく作ることができます。
それがカスタム投稿タイプです。
- 26. カスタム投稿タイプを使うと、
何が便利なのでしょう?
例: こういう使い方
投稿(標準機能) 日常のブログを書く
固定ページ(標準機能) プロフィールやお問い合わせ
カスタム投稿タイプ イタリアン食べ歩き記事を書く
- 27. カスタム投稿タイプを使わず、
カテゴリーで分ければいいじゃん?
カテゴリー
投稿 ブログ 日常のブログを書く
イタリアン食べ歩き イタリアン食べ歩き記事を書く
もちろんこれでも問題ないです。
- 28. カスタム投稿タイプだと
もっと便利な使い方ができます。
カテゴリー
投稿 今日の一言
自分の個人ブログ
オレの特技
寒いギャグ
カテゴリー カスタムフィールド
カスタム投稿タイプ 神戸 住所
イタリアン食べ歩き 大阪 席数
京都 評価
カスタム投稿タイプを利用すると、投稿を区別することができるので、
カテゴリーやカスタムフィールドも別々に管理できるメリットがあります。
- 36. カスタム投稿タイプの記事の表示URL
http://xxxx.com/?post_type=italian
カスタム投稿タイプの記事は、トップページURLの後ろに
?post_type=xxxx を付けることで表示できます。
ただし、例えばTypesプラグインだと、カスタム投稿タイプの設
定で
「custom post typeでインデックスページを作成する」
オプションを有効にしておく必要があります。
また、このURLへのリンクはメニューやサイドバーから自動的に
張られる訳ではないので、必要であればメニューからのリンクも
自分で作成しなくてはなりません。
- 38. <参考>functions.phpにコードを書いて
カスタム投稿タイプを実装する場合
・カスタム投稿タイプ&カスタムフィールドを使ってみる webstudio AWD
http://awd-‐web.com/blog/1805
・カスタム投稿タイプとカスタムタクソノミーをプラグインを使わずに実現する
¦ yusk
http://www.yusk.org/memo/wp/custom-post-type_custom-taxonomy.html
- 41. カスタムタクソノミーは
カスタム投稿タイプとセットで使います。
カスタムタクソノミーで「カテゴリ機能」を実装できます。
カスタム投稿タイプ カスタムタクソノミー
イタリアン食べ歩き 神戸のイタリアン
大阪のイタリアン
京都のイタリアン
カスタム投稿タイプを作っただけでは、記事にカテゴリを設定することは
できません。
そういうわけで、「カスタムタクソノミー」を使ってカテゴリ機能を作ります。
- 42. じゃあなんで
「カスタムカテゴリー」て言わないの?
カスタムタクソノミーは「カテゴリー」の他に、「タグ」も付けられるので、
タクソノミー(=分類)という抽象的な表現をしているのだと思います。
投稿 カスタム投稿タイプ
カスタムタクソノミー
カテゴリ機能
・カテゴリ機能
タグ機能 ・タグ機能
- 44. カスタムタクソノミーを使う(2)
ここでは例として、プラグイン「Types」を使用します。
Typesはカスタム投稿タイプだけでなく、
カスタムタクソノミー、カスタムフィールドの設定もあわせて
行うことができます。
Typesの Custom Types及びTaxonomy で
「イタリアン食べ歩き」のポストタイプ編集を開きます。
Taxonomy選択で、「カテゴリー」にチェッ
クして保存します。
- 55. カスタムメニューをサイドバーに表示する方法
1. ウィジェット
2. カスタムメニューをサイドバーへ
ドラッグします。
3. 表示するメニューを選択します。
以上でカスタムメニューをサイドバーに表示できます。