WordPress のユーザーとユーザーメタでよく使う関数・クラスのまとめとサンプルです。 ユーザーでよく使う関数 詳細は Codex を参照してください。 関 数 使 用 例 get_users 引数に指定した条件にマッチするユーザーのオブジェクトを返します。get_posts() のユーザー版です。 ■ get_users() のデフォルトの引数 <?php $args = array( 'blog_id' => $GLOBALS['blog_id'], 'role' => '', 'meta_key' => '', 'meta_value' => '', 'meta_compare' => '', // '='(default), '!=', '>', '>=', '<', or '<='. 'meta_query' => array(), 'include' => array()
確認画面なしのコンタクトフォームを作成します。入力のチェックはサーバーサイドではなく、jQuery でバリデーションを行います。また、確認画面の変わりに Contact Form 7 の承諾確認チェックボックスと同じものを jQuery で設置します。 プラグインを使わないコンタクトフォームの利点は、デザインにまったく制約がないところです。 サンプル:お問い合わせ お問い合わせ フォーム入力とバリデーション + Thanks 画面(子ページ) メール送信と Thanks 画面 コンタクトフォームとバリデーション jquery.validate.js を使えるようにする wp_enqueue_script() で jquery.validate.js を使えるようにします。jQuery は、WordPress のデフォルトで設置されるものを使います。 ■ header.php : <?
階層型のカスタム投稿タイプは、固定ページと同じ構造をしています。というより、階層型のポストで、’post_type’ が ‘page’ のものを固定ページと呼んでいるだけです。 固定ページのようなポストが必要なら、固定ページの一部としてコンテンツを作るのではなく、ポストがきちんと意味を持っている階層型のカスタム投稿タイプを作るべきです。 階層型カスタム投稿タイプの作成 ポストを階層型のカスタム投稿タイプにするには、register_post_type() で、 ‘hierarchical’ => true ‘supports’ => array( ・・ , ‘page-attributes’ ) ページ属性を加える とするだけです。プラグインを使って登録する場合でも、これらを設定する箇所が必ず存在します。 階層型カスタム投稿タイプと固定ページの構造は同じですが、両者に違いがあるのも事実
カスタムフィールドの入力を思い通りのレイアウトにしたいなら、プラグインではなく、カスタムフィールドの CRUD 関数を使います。 テキスト ■functions.php add_action('admin_menu', 'myplugin_add_custom_box'); add_action('save_post', 'myplugin_save_postdata'); function myplugin_add_custom_box () { add_meta_box( 'myplugin_sectionid', '送料関連', 'myplugin_inner_custom_box', 'post', 'advanced' ); } function myplugin_inner_custom_box() { global $post; echo '<input type="hidd
WordPress のカスタムフィールドでよく使うタグ・関数のまとめとサンプルです。 カスタムフィールドでよく使うタグ 詳細は Codex を参照してください。 関 数 使 用 例 the_meta 表示中のポストのカスタムフィールドを表示します。 <h5>このポストのカスタムフィールド</h5> <?php the_meta(); ?> <!-- 出力 --> <ul class='post-meta'> <li><span class='post-meta-key'>your_key:</span> your_value</li> </ul> 指定したポストの指定した ‘meta_key’ の値を返します。第3引数により、文字列で返すか配列で返すかを決定します。 <?php // 文字列で返す $meta_value = get_post_meta($post->ID,'meta_k
つまらない話題ですが、カスタムフィールドで数値計算をするサンプルです。カスタムフィールドの値は数値であることが保証されているものとします。 合計 やっているのは足し算のみです。 ■ ■ page-sum.php ■ <?php $s_x = $s_y = 0; $my_posts = get_posts('post_type=post&numberposts=-1'); foreach($my_posts as $p) { $cf = get_post_custom( $p->ID ); $s_x += $cf['x'][0]; $s_y += $cf['y'][0]; } echo "xの合計:$s_x<br />"; echo "yの合計:$s_y<br />"; // もしくは $s_x = $s_y = 0; $my_posts = get_posts('post_type=pos
よく使う wp-config.php の設定です。 公開場所の変更 サイトの公開場所が WordPress のインストールディレクトリと異なるときは、サイトの公開場所を変更するに従って WordPress を設定します。設定の間違いで管理画面に入れなくなった場合は、wp-config.php で WordPress アドレスとブログアドレスを設定し直すことで管理が面に入ります。 WordPress アドレス (URL) WP_SITEURL は、「WordPress アドレス (URL)」を定義できるオプションです。wp-config.php でこの値を設定すると、wp_options テーブルの option_value siteurl の値よりも優先され、管理パネル > 設定 > 一般設定画面の「WordPress アドレス (URL)」欄は無効となります。 例えば、”example.
画像にタクソノミーを付ける方法を紹介します。ここでのタクソノミーは、ポストに付けたタクソノミーではなく、画像ポストに付たタクソノミーのことです。ポストにアップロードした添付画像かどうかは関係ありません。 【図を作成中(まちがって削除)】 ※ここでは画像を扱いますが、添付ファイル(attachment)でも同じです。 WordPress 3.5 以降では、ポスト編集画面とまったく同じ要領で、画像編集画面でタクソノミーを付けることができます。 PHP コードで画像にタクソノミーを付ける タクソノミーを付ける投稿タイプがメディア(attachment)というだけです。 画像にカテゴリーや投稿タグを付ける 画像にビルトインタクソノミーであるカテゴリーや投稿タグを付けます。 ■ ■ functions.php ■ add_action('init', 'add_category_to_attachm
カスタム投稿タイプやカスタム分類へ書き込みをロール(権限グループ)で制限する方法を紹介します。この記事を読むには、権限(capability)とロール(Role)について、より深く理解しておく必要があります。 それでは、いつものサンプルサイト My Bookshelf で解説します。解説の対象となるカスタム投稿タイプ・カスタム分類・ロールを最初に列挙しておきます。 カスタム投稿タイプ:本(book) カスタム分類:ジャンル(genre) ロール:編集者(tanaka, kanazawa) 今回は、”tanaka’ にだけ「本」に対する操作(追加・削除・編集・公開)の権限を与えることにします。 使用するプラグインは、Custom Cuntent Type manager と Simple Taxonomy というマイナーなプラグインと User Role Editor というメジャーなプラグ
管理者はロールに対して以下の操作を行うことができます。 新規ロールの追加 ロールの削除 ロールに権限を追加する ロールから権限を削除する 新しいロールを作っても、デフォルトのロール以外を無視するプラグインもあります。例えば、Capa Protect や Restrict Content は、新しいロールを認識しません。 ロールの追加と削除 ロールの追加・削除は、WP_Roses クラスのメソッドを使います。add_role() , remove_role() は、 $wp_roles->add_role() , $wp_roles->remove_role のラッパー(wrapper)です。 ■ ■ functions.php ■ <?php add_action( 'admin_init', 'add_new_role'); function add_new_role() { // R
子サイトの情報を親サイトで表示できるかどうか、以下のコードでを調べてみました。 ポスト及びその関連情報 項 目 結果 備 考 タイトル ◎ the_title() 投稿日 ◎ the_time() 投稿者 ◎ the [...]
メインループで表示するポストは、どこで抽出しているのだろうか? テンプレートには、通常 query_posts() は出てきません。どこでポストを抽出しているのだろうか?その疑問に対する答えは、Codex のクエリ概要に書いてあります。 メインループのポスト抽出 「クエリ概要」は、主にプラグイン開発者向けに書かれているので、読んでもよく分からないかもしれません。そこでポイントとなる手順だけを抜き出してみます。 WP->parse_request() を使って URLをパースしクエリを特定する。 特定したクエリを MySQL のデータベースクエリに変換する。 WP_Query->get_posts() 関数によって投稿のリストを取得するデータベースクエリを発行する。 WordPress ループ内で使用される $wp_query オブジェクトの中に保存する。 WordPress ループのための
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く