PHP

wordpressで独自のqueryから通常のqueryを生成する方法

独自のクエリ変数から標準クエリを生成して実行させる。 カテゴリ指定の検索としてcatというクエリがあり、cat=1,3,5のように複数指定が可能だが、その値を自分で選択させたい場合にこの方法が有効かと思われる。 function search_multi_category() { global…

PHPのXML_Parser_Simpleで要素名を小文字にする方法

PHP

XML_Parser_Simple()を呼ぶ前にfoldingをFalseに設定する。 XML/Parser.phpあたりで、xml_parse_set_option()を呼び出し、XML_OPTION_CASE_FOLDINGに対して$this->foldingを設定している。この値がデフォルトでTrueなので大文字になる。 class myParser exte…

SoyCMSインストールメモ

フリーのCMSで、現在Webサイトをもっている人が移行しやすいようなシステムになっているようだ。 SQLiteだと(もちろんPHPにSQLiteが組み込まれていればだが)別途データベースシステムを必要としないのも利点。 SoyCMSのインストール PHP5.2の場合は、 SQLite…

wordpressの引っ越し

現サーバの wordpress から 新サーバの wordpress への引っ越し。現サーバでは[ツール]->[エクスポート]で該当ユーザの記事をエクスポートする。 新サーバでの設定 1. wordpressを設置 2. 以下を実行 $ cp -ip wp-config-sample.php wp-config.php $ view wp…

apacheでのphp設定

php.iniに書くべき内容をapacheのコンフィグレーションで設定する場合の書き方の備忘録。 <Directory "/home/foo/public_html"> # <IfModule sapi_apache2.c> <IfModule mod_php5.c> php_value memory_limit 48M </IfModule> </Directory>sapi_apache2.cはPHP4のとき(だったはず)。PHP5ではmod_php5.cでOKのようだ。 booleanの値は php_flag で On/Offする。

wordpress テンプレート関連tips

home.php [設定]の[表示設定]において、[最新の投稿]にしているときに home.php というファイルがあるとトップページはこのテンプレートを使う。 ダイナミックウィジェット [外観]の[ウィジェット]というのがある。[サイドバー1]に表示させたいウィジェット…

PHPの表示をファイルに出力

PHP

PHPで表示しているものをファイルに出力する例。 出力バッファを設定 出力 出力バッファの中身を変数にセット 出力バッファをクリア ファイルに出力 <html> <head> <title>Test<title> </head> <body> <h1>テスト</h1> <p>これはテストです。</p> </body> </html>

PHPのSimpleXMLにてCDATAがあるXMLをロードする場合について

PHP

$xml = simplexml_load_string($s, 'SimpleXMLElement', LIBXML_NOCDATA); とするとインスタンス内でCDATAを文字列として扱ってくれているが、SimpleXMLElement#asXML()で出力するとentity変換してくれる。CDATAでなく文字列として扱ってくれるためだろう。 …

PHPでSimpleXMLでCDATAを追加

PHP

SimpleXMLはPHP5で標準のXMLを扱うクラス。SimpleXMLElement#addChild()で要素を追加するが、CDATAを追加したい場合は標準ではできないようだ。 そこで、PHPのマニュアル中の例(以下参照)を参考に動作を確認。 http://www.php.net/manual/ja/simplexmlelemen…

日本語(マルチバイト)が含まれるファイル名のbasename()

PHP

日本語(マルチバイト)が含まれているときにbasename()すると先頭の日本語を取り除いてしまうようだ(PHP 5.2.6 on apache 2.0.63)。 $s = basename('日本語test.txt'); // $s = 'test.txt' $s = basename('日本語testです.txt'); // $s = 'testです.txt' http…

tinyMCEで画像挿入の際に一覧表示させるためのPHPスクリプト

tinyMCEでは画像を挿入することができるが、そのダイアログで一覧を表示させるために、tinyMCEの呼び出しで、 external_image_list_url : "tinyMCEImageList.php" /* index.html からの相対パスならOK */ のように指定する必要がある。そこで、 http://wiki.…

PhpDocumentorのインストールと文字コード変更

PHP

PHP5にしてからPhpDocumentorをインストールしていなかったのでインストールしてみた。 pearを使ってインストール pearを使ってインストールする。 もしかすると使用メモリが足りない場合があるかもしれない。その場合はmemory_limitを変更すること。参考は…

eccube 2.3.4 のインストール

以下のマニュアルサイトのようにしてもうまくいかなかったのでメモ。 http://wiki.ec-cube.net/index.php?EC-CUBE%A1%CA2%A1%A5x%B7%CF%A1%CB また、PHPにzlibを組み込んでいて、設定にて、 zlib.output_compression On の場合、installプログラムにFirefox…

wordpressでのauthor(著者)ページ一覧

author(著者)のページを一覧で出力することができるようだ。そんなのあるの知らなかった。 テンプレートはauthor.phpでカスタマイズ可能らしいが、カテゴリのようにID指定でそれぞれ個別に作成するのは不可能そう。 http://wpdocs.sourceforge.jp/%E3%83%86%…

wordpressの予約投稿の失敗について

wordpress2.7にて予約投稿を行うと、編集一覧に 予約投稿の失敗 と出て予約投稿できない。googleで調べてみると、 http://brokentoaster.info/wordpress/2008/12/26/20_35_06/ があり、wp-includes/cron.php を 2.6のものに戻すとうまく行くらしい。 また、 …

WordpressでのカテゴリごとのRSS feed

http://flyingmango.jp/web/wordpress_categorized_feed.html の情報より。 http://www.miyagino.net/archives/category/readbooks というカテゴリがあったら、こいつのRSS2.0は http://www.miyagino.net/archives/category/readbooks/feed もしくは、 http:…

Wordpressでのメディア追加でのwarning

記事の投稿時のメディア追加時に、 Warning: call_user_func_array() [function.call-user-func-array]: First argumented is expected to be a valid callback, 'media_admin_css' was given in /home/foo/public_html/wp-includes/plugin.php on line 311 …

Wordpress 2.7 での wp-amazon プラグイン

Wordpressを2.7にアップグレードしたところ、使用していたwp-amazonプラグインが動作しなくなってしまった。調べていたら、 http://www.whowants.net/wp/?p=827 http://netafull.net/aff/027747.html を見つけた。 こちらでも、wp-amazonのプラグインを停止…

Wordpressのカテゴリ用テンプレート

Wordpressにおいて、あるカテゴリを表示する場合は、category.phpを使用するとのこと。 あるカテゴリIDだけの場合は、category-"カテゴリID".phpを使用するのとのこと。 http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%BC%E3%83%9E%E3%81%AE%E4%BD%9C%E6%88%…

Wordpressを2.7にアップグレードした

Wordpressを2.6.5から2.7にアップグレードしてみたら、管理画面のインタフェイスが変わっていたので、ちょっと驚いた。 http://ja.wordpress.org/2008/12/14/wordpress-27-ja/ 使いやすくなっている感じではあります。

Wordpressプラグインでの管理メニューへの追加方法について。

Wordpressプラグイン作成時に管理メニューからの設定を行いたい場合、 add_action('plugins_loaded', create_function('$a', 'global $o; $o = new My_Wordpress_plugin;')); add_action('admin_menu', array(&$o, 'show_options_page')); としていたのだが…

mysql 4.0.27でのUTF-8をダンプした際の文字化け

http://blog.plastik.jp/archives/84 にもあるようにmysql 4.0.27 (EUC-JP)の環境にUTF-8の文字コードを 入れておいた場合のmysqldumpがよろしくないようだ。 ダンプ結果は、文字化けというわけではないのだが、 \あ\い\う みたいに各文字の前に"\"が入って…

Wordpressにて、自作テーマを使用するとページテンプレートを選択する項目が消える

wordpress 2.6.3にて、最初に設定できたはずの、ページテンプレートの項目がいつのまにかなくなっていた。 http://ja.forums.wordpress.org/topic/538 にあるとおり、default/archives.php, default/links.php を自作テーマディレクトリにコピーしたが現象変…

wordpressのアップグレード(2.6.2-ja から 2.6.3-ja)

今回も http://d.hatena.ne.jp/kazuokohchi/20080905 と同様に道楽した。 うまくアップグレードしたが、本来ならばプラグインは停止して行うべき。 セーブ、ファイル展開 $ wget http://ja.wordpress.org/wordpress-2.6.3-ja.zip $ cd wordpress $ mysqldump…

WordPressのeventcalendar3(ec3)プラグインのCSS無効化

PHP

WordPressのプラグインeventcalendar3(ec3)を使用している場合の自前CSSを使う場合にプラグインが自動挿入するCSSを無効化する方法。以下に記載されている。 http://wpcal.firetree.net/faq/ header.php 辺りに nocss=true; ?> のように、wp_head()を呼び出…

wordpressのアップグレード(2.6-ja から 2.6.1-ja)

今回は道楽した。うまくアップグレードしたが、本来ならばプラグインは停止して行うべき。 セーブ、ファイル展開 $ wget http://ja.wordpress.org/wordpress-2.6.1-ja.zip $ cd wordpress $ mysqldump -u "DBユーザ名" -p"DBパスワード" "DB名" | gzip >z-my…

wordpressのカテゴリのリスト

PHP

テンプレートのsidebar.phpでは、 <ul> </ul> となっていることが多い。この関数にはURLのようなオプションを指定できる。 <ul> </ul> 上記の例は、階層的に深さ2まで表示できる。この関数は、wp-includes/deprecated.phpにある。 wp_list_cats()は、deprecated(廃止予定)だ…

PHPでの日本語マルチバイトの切り取り(truncate)

PHP

日本語(マルチバイト)を含んだ文字列のお尻を切り取る場合は、mb_strcut()を使用する。 なお、第四引数の内部エンコーディングは指定しないとテストではうまく行かなかった。また、Smartyのプラグインとしてあるtrancateをマルチバイト対応しているものもあ…

wordpressのアップグレード(2.5.1から2.6へ)

基本的な流れ 1. プラグイン停止 2. データベースダンプ 3. 元ファイルのセーブ 4. 新パッケージを解凍 5. 元ファイル中の、.htaccess wp-config.php plugin/ themes/ uploads/ 関連をコピー。パーミッションも気をつけること。 6. upgrade.phpの実行 7. プ…

MySQL5.0 に EUC-JP な環境を構築してみる。

MySQL5.0をUTF-8で使っているときに、EUC-JPのデータを投入して、 PHP5からEUC-JPを表示させるためには、そのままではうまく行かない。 MySQLの環境(my.cnf, version 5.0.22) [mysqld] default-character-set = utf8 skip-character-set-client-handshake PH…