WordPressのテーマやプラグイン作成において、よく利用する関数やグローバル変数などを個人的に整理したコンテンツです。 各関数やグローバル変数は、情報別(データの種類)と目的別(機能の種類)に分類しています。 なお、ほとんどの情報はソースコードを見ながら書き留めた内容であり、確認不足による誤りや更新の遅れによる不正確な内容を含んでいる可能性があります。あらかじめご了承ください。
![WordPress私的マニュアル – WordPressを使ったサイト作成資料として](https://cdn-ak-scissors.b.st-hatena.com/image/square/a30ed761e96bdc37a5eb11ac0728ca76bd8df810/height=288;version=1;width=512/https%3A%2F%2Felearn.jp%2Fimg%2Fwpman_logo.jpg)
WordPressのテーマやプラグイン作成において、よく利用する関数やグローバル変数などを個人的に整理したコンテンツです。 各関数やグローバル変数は、情報別(データの種類)と目的別(機能の種類)に分類しています。 なお、ほとんどの情報はソースコードを見ながら書き留めた内容であり、確認不足による誤りや更新の遅れによる不正確な内容を含んでいる可能性があります。あらかじめご了承ください。
カスタムフィールドのテキストエリアで入力した改行を実際の表示でも反映させる方法です。 自分がすぐ忘れがちなので備忘録も兼ねてご紹介します。 通常はカスタムフィールドのテキストエリアで改行を入力して、その値を取得してWebページに表示すると改行が反映されません。 カスタムフィールドではHTMLタグは使えるので<br />タグを入力すればいいのですが、カスタムフィールドをクライアントご自身で編集して頂く際には、できるだけタグなど使わずに済むようにしたいです。 ということで、カスタムフィールドの値を呼び出すテンプレートタグを変更して、カスタムフィールドのテキストエリアに入力した改行をWebページでの表示にも反映させるようにします。 カスタムフィールドの値を呼び出すには、以下のようなテンプレートタグを使っています。 <?php echo get_post_meta($post->ID, 'フィール
言われたまま作るのではなく、お客様目線で相談から制作後まで一貫した「パートナー」としてお手伝いします。
いつも使っているwordpressのメインループとサブループ。 なんとなく理解しているつもりでしたが、いろいろ調べていくうちに意外に知らないことがあったので、整理してみました。 目次 1. メインループとは 1-1. グローバル変数$wp_queryと$post 1-2. メインクエリのデータ取得条件を変更する 2. サブループとは 2-1. WP_Queryのコード例 2-2. get_postsのコード例 2-3. query_postsは非推奨 3. まとめ メインループとは まず、メインループのコードから。 <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <!-- ループ処理(例) --> <a href="<?php the_permalink() ?>"><?php the_title(); ?><
チェックボックスの選択肢が変動しない場合は基本の機能で簡単に設置できますが、場合によっては動的なチェックボックスを作成したい場合もあるかと思います。 例えばこんなとき。 自社製品はそれぞれカスタム投稿タイプで詳細ページを作成している前提。 商品名はページタイトルを取得・表示しています。 この場合、商品数が増えたり減ったりなど変動があった場合、逐一管理画面からチェックボックスの選択肢を編集する必要が出てきてしまいますよね。 記事タイトルに商品名を入力し、そこから商品名をチェックボックスの選択肢に反映できれば運営的にも楽になりますよね。 そこで今回はWordPressのsingle.phpで作成した記事のタイトルを、メールフォームプラグイン「Contact form 7」のチェックボックスタイトルに反映する方法をご紹介します。 【基本編】Contact form 7で静的なチェックボックスを作
Contact Form 7で、メールアドレスの確認用入力と一致チェック機能をつける 問い合わせフォームで最も大事な入力項目はメールアドレスですね。 このメールアドレスの誤入力を未然に防ぐために、フォームにメールアドレス入力欄を2つ設けて、一致した場合にOKとするやり方があります。 これをContact Form 7でやってみるとこうなります。 テーマのfunctions.phpに以下を記述。 add_filter( 'wpcf7_validate_email', 'wpcf7_validate_email_filter_extend', 11, 2 ); add_filter( 'wpcf7_validate_email*', 'wpcf7_validate_email_filter_extend', 11, 2 ); function wpcf7_validate_email_filt
ドメイン変更を伴うWordPressサイトのサーバー移転の方法を紹介します。 ドメイン変更を伴わないレンタルサーバーのお引越しについては、以下のリンクを参考にしてください。 » WordPressサイトのサーバー移転方法 MySQLのエクスポート phpmyadminを利用して、移転前のMySQLデータベースをエクスポート(sqlファイルのダウンロード)します。 » MySQLデータベースのエクスポート データベースの作成 移転先にWordPressサイトのデータをインポートするためのMySQLデータベースを作成します。 » MySQLデータベースの作成 MySQLのインポート ダウンロードしたsqlファイルをそのまま変更せずに(ドメインは後ほど書き換えます)移転先のMySQLデータベースをインポートします。 » MySQLデータベースのインポート WordPressファイルのダウンロード
以前に、固定ページにカスタム投稿タイプのアーカイブを表示するという記事を書いたのですが、このときは調べても作成したカスタム投稿タイプの一覧を表示するためのURLを持てることがわからなかったのですが、わざわざ固定ページを作成しなくてもちゃんとアーカイブページを持つことができました。 また、前回はよくわからずプラグインを使ったのですが、テストサーバから本番サーバへの移行とか考えると、やはりfunctions.phpに直接書き込んだ方が効率が良かったです。手順をまとめてみました。 1.functions.phpに記述を追加 functions.phpにカスタム投稿タイプ「お知らせ」を追加するために、下記のように記述します。 function add_custom() { register_post_type('news', array( 'label' => 'お知らせ', 'menu_posi
Warning: Declaration of FEE_Field_Terms::wrap($content, $taxonomy, $before, $sep, $after) should be compatible with FEE_Field_Post::wrap($content, $post_id = 0) in /home/twfs/serverkurabe.com/public_html/blog/wp-content/plugins/front-end-editor/php/fields/post.php on line 0 Warning: Declaration of FEE_Field_Tags::wrap($content, $before, $sep, $after) should be compatible with FEE_Field_Terms::wrap
たまにAdminバーをカスタマイズする機会があるのですが、たまにしかやらないのですぐ忘れてしまうので、個人的な覚書として。 Adminバーから項目を取り除く Adminバーの項目を取り除くには、remove_node() というメソッドを使用します。 add_action('admin_bar_menu', customize_admin_bar_menu', 9999); // 優先順位は大きめで! function customize_admin_bar_menu($wp_admin_bar){ // Adminバー左側 $wp_admin_bar->remove_node('wp-logo'); // 一番左のWordPressのロゴを消す。 $wp_admin_bar->remove_node('site-name'); // 左から2番めのサイト名を消す。 $wp_admin_b
お客様から依頼を受けてWebサイトを制作する場合、新着情報の投稿など、顧客側でサイト更新を行いたいという要望は多いかと思います。 WordPressで制作したならば、サイト管理画面にログインすることで更新作業が行えるので、それは可能です。管理者(制作側)が、予め顧客のアカウントを追加して、管理権限を制限することによって、不用意にサイト構築内容が変更されてしまうのも防ぐ事ができます。 しかしながら、あからさまにWordPressを利用していることが露骨な管理画面を、そのまま顧客にお見せするのも節操がありません。ここでは、そういった部分の配慮と、顧客に解り易い管理画面にカスタマイズするために、私が採っている方法を記述します。 尚、以下の内容はWordPressバージョン3.3.2/3.4.2で検証したものです。 ログイン画面のカスタマイズ ロゴを変更する functions.phpに下記コード
1. 試験環境から下記をローカルマシンへコピーします。 ・Wordpress ファイル一式 ・データベースのダンプファイル 2. ローカルにコピーした WordPress の設定ファイル ( wp-config.php ) を下記のように変更します。 【ドメイン設定個所】 変更前 define( 'DOMAIN_CURRENT_SITE', 'www.dev.example.com' ); 変更後 define( 'DOMAIN_CURRENT_SITE', 'www.example.com' ); 【データベース設定個所】 変更前 /** WordPress のためのデータベース名 */ define('DB_NAME', 'example-dev'); /** MySQL データベースのユーザー名 */ define('DB_USER', 'user-dev'); /** My
functions.phpに以下を追加 function get_the_post_image_src($postid,$size,$order=0,$max=null) { $attachments = get_children(array('post_parent' => $postid, 'post_type' => 'attachment', 'post_mime_type' => 'image')); if ( is_array($attachments) ){ foreach ($attachments as $key => $row) { $mo[$key] = $row->menu_order; $aid[$key] = $row->ID; } array_multisort($mo, SORT_ASC,$aid,SORT_DESC,$attachments); $max
Movable Type, Craft CMS, Drupal, HTML, CSS, JavaScript, jQuery etc. Custom Field GUI Utility 3.2 は、WordPress 3.3以降用です。3.4でも使えると思います。 このページは、Custom FIeld GUI Utility 3.2 のドキュメントです。過去のバージョンのドキュメントは、以下のページにあります。 ver 2.x ver 3.0x 〜 3.1x Custom Field GUI Utility とは このプラグインは、WordPress のカスタムフィールドを、色々な数種類のフォーム要素として使えるようにするプラグインです。 当プラグインの元となっているプラグイン「Custom Field GUI」は、「投稿」の編集画面にカスタムフィールドを入力するフォームを生成するもので
WordPressのページ機能を使って、投稿記事の情報をXMLに書き出す方法です。 WordPressのページ機能は、主に固定ページを扱うために用意されていますが、表示テンプレートをコントロールすることで、投稿記事のリストを動的にXMLで出力することもできます。 ページのテンプレート変更には、使用しているテーマのフォルダにテンプレートファイルを入れることで、ページ編集画面の「属性」から切り替えが可能になります。 次のコードは最近の記事10件のタイトル、抜粋、リンクをXMLで出力するテンプレートです。 <?php /*Template Name: topics XML*/ ?> <?php echo "<?xml version=\"1.0\" encoding=\"".get_option("blog_charset")."\" ?".">"; ?> <topics> <!-- 最近の記事
もうそろそろ3.1が正式公開かと思いますので、rc3にて動作確認中です。 掲題の件について、 「shop」というカスタム投稿タイプを作成 http://example.com/?post_type=shopでアクセス この場合、表示に用いられるテンプレートは、WordPress テンプレート階層構造図によると archive-shop.phpというテンプレートファイルがあればそれを使用、なければarchive.php、archive.phpもなければindex.php となると思いますが、デフォルトのテーマのindex.phpをコピーしてarchive-shop.phpを作成しても、index.phpが真っ先に読み込まれているようです(それぞれのphpファイル内に、ファイル名をコメントアウトして確認)。 また、index.php内でget_archive_template()をechoした
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く