WordPress備忘ログ http://blog.1ch.jp WordPressやらMUやらWeb制作やら、たまに京都やら、の備忘録。 Tue, 13 Jul 2010 11:39:02 +0000 http://wordpress.org/?v=2.7.1 ja hourly 1 Mac OS X環境移行 http://blog.1ch.jp/mac/macosx-restore/ http://blog.1ch.jp/mac/macosx-restore/#comments Sat, 10 Jul 2010 05:36:23 +0000 1ch http://blog.1ch.jp/?p=228 macのハードディスクがクラッシュしたので、
バックアップデータから手動で環境の再構築するためのメモ。

  • ディスクユーティリティでパーティションを分ける
  • Mac OS X用とデータ用のパーティションに分割

  • Mac OS Xをインスコ
  • カスタムインスコでプリンタドライブのみ外す

  • ソフトウエアアップデート
  • 最新になるまで何度かアップデート、再起動を繰り返す(数回)

  • 環境設定ファイルの移行
  • 以下のデータをバックアップデータからコピー
    ユーザー>(設定したユーザー名)>ライブラリ>Appliction Support、Dictionaries、FontCollection、iTunes、Keychains、mail、Preference(適宜)、Printers、Safari
    ライブラリ>Appliction Support、Contextual Menu Items、Fonts、Imaige Capture(適宜)、Internet Plug-ins、Keychains、Startupitems(Sharity3)

  • アプリケーションとデータの移行
  • バックアップデータからまるまるコピー

  • DropBox設定
  • DropBoxをインスコ設定

  • システム環境等の設定
  • システム環境、Dock、Finder、FontBook、ことえりの設定。

以上で、バックアップ前の環境再構築完了。

]]>
http://blog.1ch.jp/mac/macosx-restore/feed/
カスタムフィールドの記事内での表示方法 http://blog.1ch.jp/wordpress/get_post_meta/ http://blog.1ch.jp/wordpress/get_post_meta/#comments Fri, 10 Apr 2009 09:32:22 +0000 1ch http://blog.1ch.jp/?p=178 カスタムフィールドの基本的な使い方は、WordPress公式ドキュメントを参照

記事中に全てのカスタムフィールドのメタデータを表示する場合は、WordPressループ内に

<?php the_meta(); ?>

を記述すれば、順不同リスト形式で表示できます。

特定キーのメタデータのみを表示したい場合は get_post_meta() 関数を使い

<?php echo get_post_meta($post->ID,'公開希望日',TRUE); ?>

でループ内に表示できます。
指定するキーは日本語もOKです。

ひとつのキーに対して、複数のメタデータがある場合、上述だと表示出来ないので、その方法を。
$single が TRUE だと、一つ目のメタデータのみしか文字列で取得出来ないので、FALSEを指定するんですが、この場合配列で返ってきます。この配列要素を文字列で連結するため implode()関数を使います。但しメタデータが空の場合、エラーになるのでそれを回避。

<?php
$stuff = get_post_meta($post->ID,'担当',FALSE); // $stuff に キー「担当」のメタデータ配列を格納
if($stuff != ""){ // メタデータ配列が空でない場合
echo implode(",", $stuff); // カンマで連結して文字列表示 implode("区切り文字",配列)
}
?>

(PHPは詳しくないので分かりませんが、他にも近い関数があるようですし、もっとスマートな記述はあると思います)

]]>
http://blog.1ch.jp/wordpress/get_post_meta/feed/
Comment Notifier カスタマイズ http://blog.1ch.jp/wordpress/comment-notifier-custam/ http://blog.1ch.jp/wordpress/comment-notifier-custam/#comments Tue, 07 Apr 2009 09:24:33 +0000 1ch http://blog.1ch.jp/?p=164 新規コメント(承認待ち、公開)時のメール通知プラグイン「Comment Notifier」のメール通知の内容をカスタマイズ。

新規コメント通知のメールフォーマットを
From:(コメント投稿者)(コメント投稿者E-mail)
Subject:(ブログ名)返信:(記事タイトル)
Body:(コメント投稿者)さんより
   (記事タイトル)に返信がありました

   返信内容:(コメント内容)
   返信内容を確認:(コメントURL)
にしたいので、

comments-notifier.phpの232〜246行目

$notify_message  = sprintf( __('New comment on your post #%1$s "%2$s"'), $comment->comment_post_ID, $post->post_title ) . "\r\n";
$notify_message .= sprintf( __('Author : %1$s (IP: %2$s , %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";

から

$subject = apply_filters('comment_notification_subject', $subject, $comment_id);
$message_headers = "MIME-Version: 1.0\n"
. "$from\n"

までを

$notify_message  = sprintf( __('%1$s さんより'), $comment->comment_author ) . "\r\n";
$notify_message .= sprintf( __('「%1$s」に返信がありました'), $post->post_title ) . "\r\n\r\n";
$notify_message .= __('返信内容:') . "\r\n" . $comment->comment_content . "\r\n\r\n";
$notify_message .= __('返信内容を確認:') . "\r\n";
$subject = sprintf( __('[%1$s] 返信:%2$s'), $blogname, $post->post_title );
$notify_message .= get_permalink($comment->comment_post_ID) . "#comments\r\n\r\n";
$notify_message = apply_filters('comment_notification_text', $notify_message, $comment_id);
$subject = apply_filters('comment_notification_subject', $subject, $comment_id);
$message_headers = "MIME-Version: 1.0\n"
. "From: $comment->comment_author <$comment->comment_author_email> \n"

に差し替え

]]>
http://blog.1ch.jp/wordpress/comment-notifier-custam/feed/
WordPress(MU) コメント通知のカスタマイズ http://blog.1ch.jp/wordpress/wordpress-comment-custam/ http://blog.1ch.jp/wordpress/wordpress-comment-custam/#comments Thu, 19 Mar 2009 10:03:41 +0000 1ch http://blog.1ch.jp/?p=147 WordPress デフォルトのコメント通知は、投稿者のIPだのWhoisだの不要な情報が一杯付いてくるので(用途がクライアント様とのやりとりなので、極力シンプルにしたいので)不要な情報を削除。

本体/wp-includes/pluggable.php の954行目以降と1048行目以降の
不要な情報をコメントアウト

私の場合はコメント情報のみでいいので

New comment on your post
Author
E-mail
URL
Whois
Delete it
Spam it
をコメントアウト

ついでに、From: がコメント投稿者のメールアドレスになってないので989行目

$from = "From: \"$comment->comment_author\" <$wp_email>";

$from = "From: \"$comment->comment_author\" <$comment->comment_author_email>";

に変更

]]>
http://blog.1ch.jp/wordpress/wordpress-comment-custam/feed/
Quick Comments (コメント投稿強化&コメント通知) http://blog.1ch.jp/wordpress/quick-comments/ http://blog.1ch.jp/wordpress/quick-comments/#comments Wed, 18 Mar 2009 13:15:14 +0000 1ch http://blog.1ch.jp/?p=148 Quick Comments (0.7.1) のカスタマイズメモ。

Quick Comments のコメント通知機能を使ってメール通知すると、From: の表記がどうも使えない表記になる。
デフォルトだと、From: サイト名 サイトE-mail <サイト管理者E-mail> となる。(サイト名、サイトE-mailはコメント通知オプションで設定した情報)
これでは通知が届いた人にわかりにくいので、From: コメント投稿者 <コメント投稿者E-mail> に変更。

Quick Comments プラグインフォルダの notify-comment-author.php の266行目

$headers = "From: \"{$this->options['site_name']}\" {$this->options['site_email']}\n"

$headers = "From: \"{$comment->comment_author}\" <{$comment->comment_author_email}>\n"

に変更。

これで誰からのコメント投稿か、ヘッダー情報だけ分かるようになる。

あとコメント通知を受け取るには、コメント通知のオプション設定で「サイト管理者のメールアドレス」が必須で、これが入力されてないと、コメント投稿画面にコメント通知を受け取るためのチェックボックスが表示されないので要チェック。

]]>
http://blog.1ch.jp/wordpress/quick-comments/feed/
Subscribe2 カスタマイズ http://blog.1ch.jp/wordpress/subscribe2-custam/ http://blog.1ch.jp/wordpress/subscribe2-custam/#comments Fri, 27 Feb 2009 03:25:46 +0000 1ch http://blog.1ch.jp/?p=134
  • Reply-To の修正
  • 通知されるメールの「Reply-To」の表記が不明な形式になるので
    310行目と609行目の

    $headers .= "Reply-To

    の1行をコメントアウト。
    (4.15時点でまだ未解決)

  • 各ユーザー毎の購読設定画面を修正
  • 4.15にバージョンアップして追加された機能に、各ユーザー毎の購読設定画面に、MUの場合、他のブログの購読登録も簡単に出来るようリストが表示されるようになったんですが、どうも権限のないブログも表示されるようなので、そのリストを削除。

    subscribe2.php 本体の2124行目〜2191行目をコメントアウト。

    		// list of subscribed blogs on wordpress mu
    		if  ($s2_mu) {
    			global $blog_id;

    から

    				echo "</ul>\r\n";
    			}
    		}

    まで

  • Subscribe2 Notification Overrideを修正
  • 4.14で解決済みなのでカスタマイズの必要無し
    Subscribe2 をインストールすると記事登録画面に「Subscribe2 Notification Override」という、記事単体でメール通知をするかどうかを設定できる機能が追加される。
    この機能がカスタムフィールドに「s2mail」というメタ情報を勝手に登録するので、を使ってメタ情報一覧を表示する場合、「s2mail」が表示されてしまう。
    これが不要なので、削除する方法。

    subscribe2.php 本体の159行目〜165行目をコメントアウト。

    //		if (function_exists('add_meta_box')) {
    //			add_meta_box('subscribe2', __( 'Subscribe2 Notification Override', 'subscribe2' ), array(&$this, 's2_meta_box'), 'post', 'advanced');
    //			add_meta_box('subscribe2', __( 'Subscribe2 Notification Override', 'subscribe2' ), array(&$this, 's2_meta_box'), 'page', 'advanced');
    //		} else {
    //			add_action('dbx_post_advanced', array(&$this, 's2_meta_box_old'));
    //			add_action('dbx_page_advanced', array(&$this, 's2_meta_box_old'));
    //		}

    記事単体でメール通知をoffにする機能は使えなくなるが、メタ情報はこれで解決。 ]]> http://blog.1ch.jp/wordpress/subscribe2-custam/feed/ XREA で WordPress アップロード機能を使う http://blog.1ch.jp/wordpress/xrea-wordpress-upload/ http://blog.1ch.jp/wordpress/xrea-wordpress-upload/#comments Tue, 17 Feb 2009 11:15:44 +0000 1ch http://blog.1ch.jp/?p=91 XREA では PHP がモジュール版・セーフモード(SAFE MODE)環境で動くようになっているので、WordPress から自動生成されるディレクトリとファイルの所有者が「apache」になってしまい、以降そのディレクトリに WordPress から書き込みできなくなる。
    それが原因でファイルアップロード機能やプラグインの自動アップグレード機能、本体のアップグレード機能が使えなかったりする。
    解決方法はいくつも参考サイトがあるのでgoogle先生にお任せするとして、自分用にメモ。

    手動でディレクトリを作成する方法もあるが、簡単な「PHP を CGI モードで動かす」方法で実行。以下は WordPress 2.5 以降の方法。(特に指定するファイル名)

    1. アップロードディレクトリの設定
    2. 管理パネル>設定>その他の設定、アップロードするファイルの保存場所を「wp-content/uploads」に設定。
      「アップロードしたファイルを年月ベースのフォルダに整理」は適宜。(アップロードするファイル数が多くなる場合はチェックしておいたほうがいい)

    3. PHP を CGI モードで動かす
    4. wp-admin/ ディレクトリに.htaccess ファイルを作成し、次の1行を追加。

      AddHandler application/x-httpd-phpcgi .php
      

      ただ、これだと wp-admin/ 以下全ての PHP が CGI モードになり動作が遅くなる可能性があるので、上記1行の代わりに、アップロードに関わるファイルのみ指定したコードを追加。

      <files async-upload.php>
      AddHandler application/x-httpd-phpcgi .php
      </files>
      

      ファイルアップロードだけなら、async-upload.php のみの指定でOK。
      #!/usr/local/bin/php の追加やパーミッションの変更は不要。

      あとプラグインの自動アップグレードも使う場合は、上記に続けて

      <files update.php>
      AddHandler application/x-httpd-phpcgi .php
      </files>
      

      も追加する。
      更に、プラグイン新規インストールも使う場合は「plugin-install.php」を、本体の自動アップグレードは「update-core.php」も指定する。
      あとプラグイン「WP-DBManager」を使う場合は「admin.php」を指定。

    基本これで動作するようになると思うが、動かない場合は以下もチェック。

    • 文字コード、改行コードを確認
    • 文字コード、改行コードが Wordpress 本体ファイルと合ってるかを確認

    • パーミッションを 707 に設定
    • XREA の場合はパーミッションを 707 に設定

    • ファイル所有者の修正
    • セーフモードに変更する前にディレクトリ作成されてる場合、所有者の変更する必要がある。
      XREA 管理画面の 管理メニュー>ツール>「ファイル所有者の修正」にて修正。

    • XREA 自動広告から手動広告へ切り替え
    • 広告自動挿入だと先頭にブランク行が出て WordPress の動作に問題が生じる事があるらしいので .htaccess で自動広告を切り、テンプレートファイルに広告コードを挿入する。

      1. 自動広告をオフ
      2. ブログ表示ディレクトリの .htaccess に次の1行を追加

        LayoutIgnoreURI *

        これで広告が非表示になる。
        (この作業の前に、ブログページのソース1行目がブランクになっていることを確認し、作業後広告が非表示になった事とソース1行目がブランクになっていない事を確認)

      3. 手動広告を挿入
      4. XREA 管理画面>広告HTML をクリック、ソースコードをコピーし、使用しているテーマのテンプレートファイル「header.php」の該当位置に挿入。
        挿入位置は XREA の規定に従う事。

      5. XHTML の記述に変更
      6. コードを「XHTML 1.0 Transitional 」に変更。
        XREA の正式対応はまだ?のようなので、XREA&CORE SUPPORT BOARDを参考に。
        sb.xrea.com/showthread.php?t=888
        sb.xrea.com/showthread.php?t=2732
        このあたりを見る限りでは公式ではないが、サポート的にOKを出してると解釈して

        <a href="http://img.xrea.com/ad_click.fcg?site=ユーザーサーバ.xrea.com" target="_blank">
        <img src="http://img.xrea.com/ad_img.fcg?site=ユーザーサーバ.xrea.com" border="0" alt="xreaad">
        </a>
        

        に変更
        (arget属性を外してもOKとの事なので、そのあたりは好みで)

      7. 修正済み header.php をアップロード
      8. 広告表示やソースが正しい事を確認。

    セーフモードや XREA での WordPress 情報は下記を参照。

    セーフモードによる制限と対処方法

    XREA における WordPress関連情報

    WordPress 本体のコアアップグレードについては後日。

    ]]>
    http://blog.1ch.jp/wordpress/xrea-wordpress-upload/feed/
    WordPress MU 便利なプラグイン15選 http://blog.1ch.jp/wordpress/wordpress-mu-plugin/ http://blog.1ch.jp/wordpress/wordpress-mu-plugin/#comments Mon, 16 Feb 2009 14:00:19 +0000 1ch http://blog.1ch.jp/?p=43 WordPress MU で実際使ってみて、これは便利だと思うプラグインの15選です。
    主に、特定の企業様とのコミュニケーション専用に使ってるので、他の用途では参考にならない部分もあるかもしれませんが、参考までにピックアップしておきます。

    1. WP Multibyte Patch
    2. これはマストという事で。。
      eastcoder.com/code/wp-multibyte-patch

    3. WP-PageNavi
    4. 下部のページナビゲーション
      オリジナル
      wordpress.org/extend/plugins/wp-pagenavi/
      日本語化ファイル
      wp.mmrt-jp.net/plugin-japanization-project/wp-pagenavi/
      wppluginsj.sourceforge.jp/i18n-ja_jp/wp-pagenavi/
      ※pagenavi-css.cssを入れ替え

    5. Custom Field Template plugin
    6. カスタムフィールドの入力支援
      オリジナル(日本語化ファイル込み)
      wordpressgogo.com/development/custom-field-template.html
      ダウンロード
      wordpress.org/extend/plugins/custom-field-template/
      #オリジナル
      #http://rhymedcode.net/projects/custom-field-gui/
      #日本語版
      #http://www.tinybeans.net/blog/download/wp-plugin/cfg-utility-100.html

    7. Simple Tags
    8. タグ入力支援
      オリジナル(日本語化ファイル込み)
      wordpress.org/extend/plugins/simple-tags/
      #日本語化ファイル
      #http://www.naviwave.com/blog_w/wp_plugin/simple-tags/

    9. Subscribe2
    10. 投稿通知
      オリジナル
      wordpress.org/extend/plugins/subscribe2/
      日本語化ファイル
      tenderfeel.xsrv.jp/wordpress/99/

    11. Quick Comments
    12. 「投稿に対する返信」した人に対して他の返信があった事を通知
      +コメントをAjaxでサクっと返信
      オリジナル(日本語化ファイル込み)
      wppluginsj.sourceforge.jp/quick-comments/

      過去は「Subscribe To Comments」を使っていたが、こちらに乗換
      オリジナル
      wordpress.org/extend/plugins/subscribe-to-comments/
      日本語版(バージョンが追いついてない場合は日本語ファイルのみ取り出し、以下Tips参照)
      wppluginsj.sourceforge.jp/i18n-ja_jp/subscribe-to-comments/
      日本語化Tips
      d.hatena.ne.jp/minorio/20080701/1214921937

    13. WP-DBManager
    14. DBバックアップ管理
      オリジナル
      wordpress.org/extend/plugins/wp-dbmanager/
      日本語化ファイル
      wp.mmrt-jp.net/plugin-japanization-project/dbmanager/

    15. autohyperlink-urls
    16. 記事中のURLに自動でリンクを付ける
      coffee2code.com/wp-plugins/auto-hyperlink-urls/

    17. AutoExternalLink
    18. リンクに自動で別ウインドウで開くアイコンを付ける
      wp.graphact.com/2007/07/15/98

    19. Angsuman’s Authenticated WordPress Plugin
    20. ブログにログイン認証をかける
      Angsuman’s Authenticated WordPress Plugin プラグインページ
      2.5以降はカスタマイズが必要なので、WEBあくまこさんのWordPressサイト全体にログイン認証をかけるを参照。

    21. Allow Categories
    22. ブログのカテゴリー毎にログイン認証をかける
      wordpress.org/extend/plugins/allow-categories/

    23. Maintenance Mode
    24. メンテナンスモードを表示
      オリジナル
      wordpress.org/extend/plugins/maintenance-mode/
      日本語化ファイル
      wppluginsj.sourceforge.jp/i18n-ja_jp/maintenance-mode/

    25. Revision Control
    26. 投稿リビジョンの仕様を設定できる
      wordpress.org/extend/plugins/revision-control/
      ※単純にリビジョン機能と自動保存機能をOFFにするなら
      Disable Revisions and Autosave
      exper.3drecursions.com/2008/07/25/disable-revisions-and-autosave-plugin/

    27. Post Templates
    28. 投稿テンプレート
      www.vincentprat.info/dev/wordpress-plugins/post-templates/

    29. Unfiltered MU
    30. MUではデフォルトだと「iframe」「embed」タグが記事中で使えないので、それを有効化
      wordpress.org/extend/plugins/unfiltered-mu/

    ]]>
    http://blog.1ch.jp/wordpress/wordpress-mu-plugin/feed/
    WordPress と WordPress MU 比較 http://blog.1ch.jp/wordpress/wordpress-vs-wordpress-mu/ http://blog.1ch.jp/wordpress/wordpress-vs-wordpress-mu/#comments Wed, 11 Feb 2009 15:52:08 +0000 1ch http://blog.1ch.jp/?p=41 それぞれの詳細はwiki等に委ねるとして、
    複数ブログを構築する際の WordPress と WordPress MU を比較してみよう

    比較項目 WordPress WordPress MU
    設置 複数のディレクトリにそれぞれ設置する必要有 本体の設置のみで複数ブログを運営可
    機能1 少し前まではバージョンも違い、機能的にも違いがあったようだが、今はMulti-User(複数ブログを管理できる)かどうかが一番大きな違いで、機能的にはほぼ同様
    バージョンアップ こちらが主体 本体を追っかけて1〜2ヶ月遅れでリリース
    日本語化 本体が出てすぐリリース MU本体から少し遅れてリリース(場合によってはマイナーバージョンは翻訳されない)
    アップグレード ブログ毎にアップグレードする必要がある 本体のアップグレードのみでOK
    プラグインも同様
    マニュアル 書籍やネット上の情報が多い 書籍は(たぶん)無し、ネット情報もかなり少ない
    導入の難易度 ほぼ変わらず
    ブログ追加 1つ目同様の作業が必要 ユーザー追加と同じぐらい容易
    DBの構造 ブログ単位でDBを指定できる 1つのMUに対して1つのDBで、管理用テーブルと各ブログ用テーブルが作成される
    各ブログはID毎にテーブルが作成される
    (MUはWordPress.comに導入されてるので、DB構造的には効率的なのだろう)
    機能2 本文内でコードが使えない、等の違いがあるみたいだが、プラグインで解決
    プラグイン 使えないプラグインもある
    ]]>
    http://blog.1ch.jp/wordpress/wordpress-vs-wordpress-mu/feed/
    WordPress MU アクセス制限 - BASIC認証 編 http://blog.1ch.jp/wordpress/wordpress-mu-basic/ http://blog.1ch.jp/wordpress/wordpress-mu-basic/#comments Wed, 11 Feb 2009 14:39:29 +0000 1ch http://blog.1ch.jp/wordpress/wordpress-mu-%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e5%88%b6%e9%99%90-basic%e8%aa%8d%e8%a8%bc-%e7%b7%a8/ 今まで WordPress を会社の取引先とのやりとり専用ツールで使ってたんですが、取引先やプロジェクトが増える度に新規で WordPress を設置するのも効率が悪いので、WordPress MU 導入しました。

    WordPress では、そのディレクトリ毎にBASIC認証を掛けていたんですが、WordPress MU の場合、仮想ディレクトリなのでBASIC認証の掛けようがない
    (TεT)、、、
    と悩んでいたんですが、実現方法がありました。

    WordPress の「ブログディレクトリの変更」と同じようなやり方で、まず

    1. 実在ディレクトリを作成
    2. ブログURLが「example.com/blog01」なら「example.com/」直下に「blog01」ディレクトリを作成。

    3. WPMUのindex.phpをコピー
    4. WordPress MU ディレクトリ直下の index.php を「blog01」ディレクトリにコピー、
      index.php の

      require('./wp-blog-header.php');

      を該当ディレクトリに変更
      WordPress MU ディレクトリが「example.com/wpmu」なら

      require('../wpmu/wp-blog-header.php');

      これで実在ディレクトリからWPMU本体を読みに行くようになる。
      この際、.htaccess の mod_rewrite の記述は不要。

    5. BASIC認証の設定
    6. 通常どおり、.htaccess でBASIC認証を設定。
      これで完了!

    ]]>
    http://blog.1ch.jp/wordpress/wordpress-mu-basic/feed/