Warning: Cannot modify header information - headers already sent in /home/dacelo/html/DocumentRoot/wp-includes/feed-rss2.php on line 8
subversionでコミットしようとしたら失敗した。 svn updateは問題なくできているので、環境のせいではなさそう。 SVNコミットする際は、必ずコミット時メッセージが必要になるので、こまんどでメッセージを挿入するか、外部エディタを設定すればよい。 外部エディタにviを指定する方法でもOK。 Related posts:
Related posts brought to you by Yet Another Related Posts Plugin.]]>[dacelo@info]$ svn commit
svn: コミットに失敗しました (詳しい理由は以下のとおりです):
svn: ログメッセージを取得するのに外部エディタを使えませんでした。$SVN_EDITOR 環境変数を設定するか、--message (-m) か --file (-F) オプションを用いてみてください
svn: 環境変数 SVN_EDITOR, VISUAL, EDITOR のどれも設定されていなく、実行時の設定オプション 'editor-cmd' も見つかりません
エラーメッセージによると、メッセージを編集するためのエディタが指定されていない、ということだった。svn commit -m 'ここにコメント'
[dacelo@info CMScontroler]$ svn commit -m 'sidebar exclude設定'
送信しています CMS/content.php
ファイルのデータを送信中です.....
リビジョン 3794 をコミットしました。
# EDITOR=vi svn commit
Related posts brought to you by Yet Another Related Posts Plugin.
]]>PHPの開発効率を上げる10個の関数 – PHP,MySQL,Flexな日々+イラストとか
変数、配列の内容をキレイに表示する関数「d」
変数や配列の内容をHTML構文でキレイに表示してくれます。
しかも、var_dumpと書くとタイピングが大変なので「d($hoge)」として簡単に記述。
これだけでも作業効率8倍
PHPの便利な関数色々。
こうして、自分のよく使う処理をオリジナル関数として持っておくと使い回せて便利そうですね。

No related posts.
Related posts brought to you by Yet Another Related Posts Plugin.
]]>WordPressを2.84にアップデートしたらフェイタルエラーで表示不能に。
Fatal error: Call to undefined method WordPress_Module::_weak_escape() in /home/dacelo/html/wordpress/wp-includes/wp-db.php on line 487
データベースのバックアップを取っていなかったので(よいこは必ず取りましょう)プラグインを全部停止してみると表示された。
どうやらプラグインredirectionが読んでいるメソッドが最新版では廃止されている模様。
redirectionを停止すると直りました。
ちなみにredirectionは最新の2.1.22(2009年6月更新)にすればOKです。なぜか結構前に僕が入れたバージョンは2.1.4だったのですが…?

Related posts:
Related posts brought to you by Yet Another Related Posts Plugin.
]]>Webページを作成していて、もっとも面倒な作業の一つがサムネイルの作成です。
大きい画像を無理矢理WidthやHeightで縮小して表示すると、読み込みが重い上に、ブラウザで見たときにジャギーが粗くなってギザギザで汚くなってしまいます。
しかし、あるCSS設定をすると、IEで画像の縮小表示がなめらかに表示されることが分かりました。
それがこの指定です。
img { -ms-interpolation-mode: bicubic; }
これで縮小画像の表示がバイキュービック形式の縮小になります。
論より証拠。この2つの画像を見比べてください。
画像をCSSだけでハイクオリティに縮小サムネイル化する方法:phpspot開発日誌
No related posts.
Related posts brought to you by Yet Another Related Posts Plugin.
]]>WordPressで、特定のページのコンテンツを引っ張ってきて表示させる方法。
下記の例だと、カテゴリ999から1件だけ取得し、そのタイトルとコンテンツを表示させている。
<?php $special_posts = get_posts('numberposts=1&category=999'); foreach($special_posts as $special_post) : setup_postdata($special_post); ?> <h3><a href="<?php echo get_permalink( $seminar_post->ID ); ?>"> <?php echo wp_3_specialchars( $seminar_post->post_title ); ?></a></h3> <?php echo $seminar_post->post_content ; ?></li> <?php endforeach; ?>
もちろん、get_posts()の引数を変更することによって、複数の記事のリストを表示させたりすることも可能。
ただしget_posts()関数を使う際には、foreachで回すキーとバリューに注意する。
Codexで紹介されているように$postsを使ってしまうと、それ以降のデータも書き換えられてしまう。
(それ以降に記述してある、通常の記事のループがこの記事データに上書きセットされる)
参照:
テンプレートタグ/get posts – WordPress Codex 日本語版
No related posts.
Related posts brought to you by Yet Another Related Posts Plugin.
]]>ロジックとビューが分離できるというのがSmartyを使う強みというか旨みなわけで、テンプレート上に生PHPを書くというのは本来が本末転倒気味な話な訳です。
しかしそれでもちょっとした動作をPHPでそのまま実行したいときってあるんですよね。
Smartyの公式ドキュメントによると、
{php} タグで、PHP コードを直接テンプレートに埋め込むことができます。
<例>{php} // PHP スクリプトをテンプレートから直接インクルードします include('/path/to/display_weather.php'); {/php}
となっています。しかしこれがなぜかECcubeではそのまま文字として出てきてしまう…。
よくよく見てみると、ECcubeではデリミタをいじってあって、
{
ではなく
<!–
になっているんです。
というわけでECcubeのテンプレート上でPHPを直接実行するには
<!--{php}--> echo 'Hello World!'; <!--{/php}-->
と書きます。
Related posts:
Related posts brought to you by Yet Another Related Posts Plugin.
]]>phpMyAdminとか、クリティカルでデリケートなWebアプリケーションを扱うとき、httpで普通に操作するのはちょっと不用心すぎます。
httpは暗号化されてないので、データベースの情報やパスワードがそのままヒラヒラと飛び交ってしまうからです。
そんなときは、.htaccessでお手軽にSSL必須設定にしておきましょう。
.htaccess に
SSLRequireSSL
と書くだけで、そのディレクトリ以下はSSL必須となり、httpの場合はAccess Forbiddenになります。
httpd.confに記述するなら
<Directory "/home/hoge/DocumentRoot"> SSLRequireSSL </Directory>
といった感じです。
No related posts.
Related posts brought to you by Yet Another Related Posts Plugin.
]]>レイアウトの制約上、コメントをポップアップにしたいことがありますよね。
WordPressのデフォルトテーマセットに
[comment-popup.php]
というテンプレートがありますが、特に使わないので「きっと使えるんだろう」くらいにしてあまり気にしてなかったんですが、使い方は実際簡単でした。
この関数を、ヘッダーの中に入れると、JavaScriptのコードが出力され、記事の下にある
<?php comments_popup_link(__('Comments (0)'), __('Comments (1)'), __('Comments (%)')); ?>
がポップアップになります。
comments_popup_script()
がヘッダーの中にないと、今まで通り普通のコメント表示になります。
ちなみにこの関数、「classic」テーマにも最初から入ってました。
<?php //comments_popup_script(); // off by default ?>
デフォルトではコメントアウトされています。
引数で、ポップアップウィンドウの大きさをピクセル指定することが出来ます。
<?php comments_popup_script(width, height); ?>
No related posts.
Related posts brought to you by Yet Another Related Posts Plugin.
]]>WordPressでは、2.7から自動アップグレードという機能が実装され、プラグインも本体も、これまでのように「ダウンロード…解凍…サーバーに接続…アップロード…」という面倒くさい手順を踏まなくてもアップグレードできるようになったのである。
しかし、独自サーバーで、どうしても自動アップグレードが使えないので困っている。
FTPも用意したし、そのアカウントで接続できることも確認済み。
しかし、
プラグインのアップグレード
WordPress プラグインディレクトリが見つかりません。
プラグインのアップグレードに失敗しました
というエラーが出て終了してしまう。
本体のアップグレードも同様だ。
フォーラムの方で、自動アップグレードについてこんな情報を発見。
サーバーのシステムの temp ディレクトリへパッケージをダウンロードという部分でrootのtempディレクトリが指定されており、弊社では、そこはセキュリティの関係上、公開していないため利用出来ません。
そこで、利用出来るようにするには、ご自身の好きな場所にtmpというフォルダを作成し、パーミッションの設定を行い、wp-config.phpの最初の行に、
define(‘wp_3_TEMP_DIR’,'/var/www/virtual/ご自身のドメイン名/htdocs/tmp’);
putenv(‘TMPDIR=’.wp_3_TEMP_DIR);
のように指定することで、利用が出来るようにしました。
WordPress › フォーラム » 2.7 の自動アップグレード機能が使えるサーバ情報の募集
一応ためしてみたが、tmpディレクトリの問題ではないのでやはり何も変わらず。
情報収集中です。プラグインの手動更新面倒くさい…。
No related posts.
Related posts brought to you by Yet Another Related Posts Plugin.
]]>WordPressは、Ver2.7から、テーマとプラグインとに『自動アップデート機能』が実装された。
これまでだったら、ダウンロードしてきて、サーバーに接続して、差し替えて…。という手間がいちいち必要だったので、ついついプラグインもテーマも古いバージョンのまま使い続けたりしていた。
しかし自動アップデートは、基本的に一度クリックするだけで全てが完了する…が、一つ気をつけなくてはいけないことがあった。
テーマをカスタマイズしている場合、自動アップデートをすると全てが消え去る。これはどういうことかというと、自動アップデートの作業内訳は
という手順で行なわれる。つまり上書きインストールではないため、保存しておいたオリジナル画像、別名で保存したCSSファイルなど全てが吹っ飛ぶ。
…注意しよう。
↓テーマアップデート時のメッセージ
テーマのアップグレード
http://wordpress.org/extend/themes/download/*****2.0.5.zip からアップデートをダウンロードしています
更新を解凍しています
旧バージョンのテーマを削除しています…
最新のバージョンをインストールしています
テーマのアップグレードが完了しました
Related posts:
Related posts brought to you by Yet Another Related Posts Plugin.
]]>