CMS関連
カスタム投稿(カスタムポスト)ごとにカテゴリーを設定する【WordPress】
今回使用しているプラグインは「Custom Post Type UI」です。簡単にカスタム投稿(カスタムポスト)を作れて非常に便利なプラグインです。
カスタム分類(カスタムタクソノミー)ガン無視で作っていたので、カスタム投稿(カスタムポスト)ごとにどうやってカテゴリーを作るんだろう?出来ないのかな?なんて数時間悩んでしまったのでメモ。
nandani | 2012年07月14日 | コメント(0) | トラックバック(0) | CMS関連
get_pageの注意事項【WordPress】
WordPressにて固定ページのデータを取得できる関数「get_page」
これを使おうとしてやたらつまったのでメモ。
取得する際、下記の用に記述したところ
$get_page = get_page('22');
以下のようなエラーが出てしまいました。
Fatal error: Only variables can be passed by reference in プログラムのパス on line xx
私的マニュアルと同じように書いてるのになぁ、と思い(修正していただきました)エラーコードで調べてみると、直接IDを指定しているのがまずいみたい。(関数リファレンス/get post - WordPress Codex 日本語版)
$page_id = '22';
$get_page = get_page($page_id);
と変更したところ正常に動作しました。
nandani | 2012年06月19日 | コメント(2) | トラックバック(0) | CMS関連
MTのデータベースの文字コード変換【Movable Type】
サーバ移転の話が続きますが、MTを移転すると、管理画面に入ったとき、文字化けしているときがあります。
大体そういう場合は、データベースの文字コードがおかしかったりします。
特に「latin1_swedish_ci」の場合。
最近のレンタルサーバであれば「utf8_general_ci」に自動的になってくれたりするところもあるのですが、専用サーバなどの場合、phpMyAdminなどで何も考えずにデータベースを作ると大体この「latin1_swedish_ci」になります。
それでも、これからMTをインストールする分には、特に文字化け問題は発生しないのですが、問題はサーバを移転したとき。
以前のサーバでは「latin1_swedish_ci」でも正常に表示できていたはずなのに、移転した途端文字化けが発生したりします。
というわけで、このような場合は、「utf8_general_ci」に文字コードを変換してあげましょう。(MTの文字コード設定がUTF-8の場合)
nandani | 2012年06月02日 | コメント(0) | トラックバック(0) | CMS関連 | PHP関連
サイトのタイトルが保存できない現象【WordPress】
メモ。
テストサーバから本番サーバにWordpressを移転し、「一般設定」を編集したところ、入力されている「サイトのタイトル」と「キャッチフレーズ」が消えてしまうという問題が発生しました。
英数字なら正常に保存できるのに、日本語を入力すると保存時に消えてしまう。
同じような現象にあってる人はやっぱりいて、htaccessにて
php_flag mbstring.encoding_translation off
php_value default_charset "UTF-8"
を入力するとうまく行くらしいのですが、移転先のサーバで、これを試したところInternal Server Errorとなってしまいました。
途方に暮れそうになりましたが、試しにと思い、
default_charset = "UTF-8"
mbstring.internal_encoding = UTF-8
と書いたphp.iniを作り、サーバのウェブルートにアップしたところ正常に動作するようになりました。
助かった!
参考サイト
nandani | 2012年06月02日 | コメント(0) | トラックバック(0) | CMS関連
プラグイン作るときは自動保存に注意【WordPress】
WordPressにて投稿フォームに設置するようなプラグインを作る場合は、自動保存に注意しましょうというメモ。
投稿フォームに設置するということは
add_action('save_post', 'hoge_save'); function hoge_save( $post_id ) { $wpdb->query("UPDATEやINSERTのSQL"); }
みたいな保存用のプログラムを書くことになると思うのですが、問題は自動保存。
この「add_action('save_post', '実行する関数名');」というのは、ボタンを押して保存するタイミングだけでなく、自動保存時にも実行されてしまうのです。
nandani | 2012年05月25日 | コメント(0) | トラックバック(2) | CMS関連 | PHP関連
WordPressのサイトマップを作る【プラグインなし】
WordPressのサイトマップといえば「Sitemap Generator」プラグインが有名でいつもお世話になってますが、今回はプラグインなしで作ってみることにしました。
早速ですが、出来上がったものがこちら。
nandani | 2012年05月16日 | コメント(0) | トラックバック(0) | CMS関連 | PHP関連 | WEB関連全般
「ブログ」を更新したとき、「ウェブサイト」のインデックスも再構築する【MT】
MTはバージョン5からウェブサイトをまず作成し、その中にブログを構築するという仕組みに変わったわけですが、ウェブサイトのトップページにブログの新着一覧などを表示する場合(※)、新着用ブログを再構築した時点で、ウェブサイトも再構築する必要があります。
※たとえば、ウェブサイトの「メインページ」テンプレートに以下のような記述がある場合
<ul> <MTBlogs include_blogs="x"> <MTEntries> <li><a href="<$MTEntryLink$>"><$MTEntryTitle$></a></li> </MTEntries> </MTBlogs> </ul>
デフォルトではブログで再構築する場合は、そのブログのみの再構築となるので、ウェブサイトの再構築は行われません。
これをウェブサイトの表示にも反映させる方法は3つあります。
nandani | 2012年04月16日 | コメント(0) | トラックバック(0) | CMS関連
Contact form 7を使用する際の注意事項
Contact form 7でお問い合わせフォームを設定後
[contact-form-7 id="123" title="Contact form 1"]
といった感じのタグをページや投稿の本文に書くと、メールフォームを生成してくれるんですが、全然フォームが表示されない!
まんま
[contact-form-7 id="123" title="Contact form 1"]
と表示されてしまう。
なぜだろうとず~っと悩んで他のプラグインを停止したり、バージョンを変更するも解決しない。
ためしにテーマをデフォルトのものに変更したところ、正常に表示されました。
そこでソースを確認したところ本文表示部分が
<?php echo get_the_content(); ?>
となっていました。
これを
<?php the_content(); ?>
と変更したところ、解決!
解決すればすごく単純なことながら、なぜか全然わからずかなり時間を食ってしまいました。
ちなみにサイトマップを生成する「Dagon Design Sitemap Generator」も同様の現象が起こりますので注意しましょう。
nandani | 2012年02月16日 | コメント(0) | トラックバック(0) | CMS関連
Movable Type を Windows環境からLinux環境へ移行する際の注意事項
Windowsマシンにローカルサーバを構築し(xampp)、そこにMovable Typeをインストールして、サイトを構築したのち、実際のサーバへデータを移行させたのですが、アイテム関連総崩れ!
すべてリンク切れとなってしまいました。
ちなみに移行方法は、MTの「バックアップ・復元」機能ではなく、データベースを丸ごとコピーし、出力されたファイルなどもすべてサーバにアップロードし、パスなどを調整したのち、再構築というやり方です。
パーミッションがおかしいから?と思いましたがどうも違う。
LinuxサーバからWindowsのローカルサーバにデータを移行した際は大丈夫だったのになぁ・・・なんて思いながら、データベースを比較したところ、パスの区切りに問題があることが判明。
「mt_asset」テーブルの「asset_file_path」フィールドを見てみると、Linuxサーバで登録したファイルはスラッシュ(/)で区切られているのに対し、Windowsで登録したファイルはバックスラッシュ(\)で区切られてデータベースに保存されていました。
Windowsのとんだ落とし穴でしたね^^;
すべてスラッシュに変換したところ正常に表示されるようになりました。
nandani | 2012年01月18日 | コメント(0) | トラックバック(0) | CMS関連
システムテンプレートで「MTWebsites」を使う場合の注意【Movable Type】
Movable type 5.1の「検索結果」テンプレートにて、
<MTWebsites site_ids="1"><$mt:WebsiteURL$></MTWebsites>
といったタグを記述したのですが、なぜかうまくURLが取得できない。
しばらく悩んだ末、MTのテンプレートタグリファレンスに書かれているもう1つのID指定方法である「include_websites」を使ったところ、正常に取得できるようになりました。
<MTWebsites include_websites="1"><$mt:WebsiteURL$></MTWebsites>
やってることは同じはずなのになぁ・・・
nandani | 2012年01月16日 | コメント(0) | トラックバック(0) | CMS関連