Home > WordPress Archive

WordPress Archive

ie7のz-index

WordPress のデフォルトのテーマの Twenty Ten のヘッダーメニューバーにはページへのリンクが表示され、子ページがある場合はドロップダウンで表示されます。

1段だけで収まれば何の問題もないのですがページが多くなり、2段になってしまったとき、ie7で問題が発生します。

1段目のどれかでドロップメニューが出現したときに、その真下(2段目)にメニューがあった場合その2段目のメニューをスキップしてドロップダウンメニューが表示されてしまいます。

z-index で調整してもまったく効果なし。

いろいろ調べた結果、ie7 は

  • HTMLに書かれている順番が優先される。
  • HTMLで、後に書かれているブロックが前面に表示される。
  • z-indexの数値は、ブロック内の順番の指定になるが、ブロックをまたいで解釈されることはない。

ということらしいです。(調べものブログさんから引用)

そこで、

1段目のメニューと2段目のメニューを別々に登録し(Wordpress 3.0 からの新機能)HTMLで2段目を先に、1段目をその次に記述してcssで上下を入れ替えることで解決しました。(Wordpress に限ったことではないですが)

一言言わせてください。

ie7 はクソだ~~~!

WordPressをPostgreSQLで使う

WordPressをPostgreSQLで使うためのプラグインを使います。

PostgreSQL for WordPress (PG4WP)というプラグイン。
http://wordpress.org/extend/plugins/postgresql-for-wordpress/

  • WordPressの wp-content/plugins/ フォルダに pg4wp フォルダごとアップロード。
  • pg4wp フォルダの中の db.php というファイルを wp-content/ 直下に移動。

そして、/wp-admin/install.php にアクセスしたが、あれれ?画面が真っ白になってしまった:/

ネットであちこち探してみると解決策を見っけ~!こちらのサイトを参考に、

/wp-admin/install.php の42行目あたりをコメントアウト

#require_once(dirname(dirname(__FILE__)) . '/wp-includes/wp-db.php');

でめでたく正常に WordPress をインストールできました。

ちなみにそれぞれのバージョンは、

  • WordPress 3.0.5
  • PG4WP   1.1.0

携帯から投稿すると「予約投稿が失敗する」になる

表題のとおり、携帯から投稿すると予約投稿になってしまったので管理画面で更新をかけると「予約投稿が失敗しました」となってその記事は投稿できなくなった。

6w6aさんの記事を参考に修正してみた。

“\wp-includes\cron.php”の 229行目(WordPress 2.9の場合)、

    wp_remote_post( $cron_url, array(‘timeout’ => 0.01, ‘blocking’ => false, ’sslverify’ => apply_filters(‘https_local_ssl_verify’, true)) );

この0.01を5~10など大きめの数字に変えます。タイムアウト時間がたった0.01秒では通常の共用サーバーじゃ厳しいです。それでも数秒もあれば十分でしょう。

    wp_remote_post( $cron_url, array(‘timeout’ => 5, ‘blocking’ => false, ’sslverify’ => apply_filters(‘https_local_ssl_verify’, true)) );

大体のケースはこれで解決すると思います。動作報告ください。

がうまくいかなかったのでしばし考えた結果、携帯電話の時間設定が狂っているかもしれないと思いついたのでほんの少しサーバの時間より遅らせてテストしてみるとうまくいった。

Ktai Entry の設定

今更ながらですが携帯からメールで WordPress に投稿するプラグインの Ktai Entry をインストールしました。

まず、Ktai Entry をこちらからダウンロードします。

今回ダウンロードしたバージョンは、0.8.11でダウンロードしたファイルは ktai_entry0811.tar.bz2 という圧縮ファイル。基本的な設定方法はダウンロードページに説明があるのでここでは省略します。

普通の流れは、
設定したメールアドレス宛に携帯からメールをする。
   ↓
管理画面で設定した間隔でメールサーバにメールを読みに行き、メールが入っていればその内容で WordPress に新規投稿される。

となりますが、これを「メール着信時に投稿スクリプトを起動させる」という設定にしたい場合、ダウンロードページには Sendmail の設定方法が書いてなかったので Sendmail の設定方法を記します。

設定した受信用メールアカウントのフォルダ内に .forward というファイルを作り、そのファイルに
"| /usr/bin/php -q /ワードプレスのパス/wp-content/plugins/ktai_entry/inject.php"
と記述。

.forward は一般的にメールの転送するときに使うファイルですが、上記の記述によってこのアカウントにメールが入った時に inject.php を実行させることができるのです。

設定ができたのでメールを送信してみたところ、

   —– The following addresses had permanent fatal errors —–
"| /usr/bin/php -q /ワードプレスのパス/wp-content/plugins/ktai_entry/inject.php"
    (reason: Service unavailable)
    (expanded from: <送信したメールアドレス>)

   —– Transcript of session follows —–
smrsh: "php" not available for sendmail programs (stat failed)
554 5.0.0 Service unavailable

というエラーが返ってきました。

smrsh がなにやらうまくいってなさそうなのでネットでいろいろ調べてみると、サーバの /etc/smrsh/ にシンボリックリンクを設定するといいようなので、su – でルートでログインし、smrsh ディレクトリに移動
# cd /etc/smrsh/

そしてシンボリックリンクを追加
# ln -s /usr/bin/php ./php

そしてメールを送信してみたところリアルタイムに WordPress で投稿が完了していました。めでたしめでたし。

ちなみに環境は下記の通りです。
Wordpress 2.9.2
PHP 5.1.6
Sendmail 8.13.8
 

ktai style PC 向けサイトを訪問しようとしています

少し古い内容になりますが、ktai style で携帯から外部サイトへのリンクをクリックすると「PC 向けサイトを訪問しようとしています」と表示されてワンクッション入ります。これをワンクッション入れずにリンク先を表示させるには、使っているテーマフォルダ内に下記内容を入れた function.phpファイルを用意すればOK。

<?php
/* 直接リンク先へ飛ぶ
*/
function ks_direct_external_link($link_html, $href, $label) {
    return '<a href="' . attribute_escape($href) . '">' . $label . '</a>';
}
add_filter('external_link/ktai_style.php', 'ks_direct_external_link', 90, 3);
?>

WordPress 2.7.1
ktai style 1.7

TinyMCE AdvancedとPS Disable Auto Formatting

TinyMCE Advanced で Stop removing the <p> and <br /> tags when saving snd show them in the HTML editor にチェックを入れてもうまくいかない場合がある。

そして、特殊な属性(例えば、td に nowrap="nowrap" )を設定しても無視されて本文に反映されない。

そこで、PS Disable Auto Formatting というプラグインを入れることによってこの問題が解決した。

このプラグインの説明

WordPressの段落自動整形(wpautop)を停止させると共に、ビジュアルエディタが生成するhtmlソースを改変。HTMLモードでの編集時に、意図しないbrタグ、pタグの除去、pタグの付加が発生しないようにすると共に、ビジュアルモード編集時における意図した通りの自然な改行・段落の生成を実現します。

このプラグインのサイトはこちら>>

fckeditor-for-wordpress-pluginのcssをカスタマイズ

Wordpressで記事を作成・編集する際に fckeditor-for-wordpress-plugin を最近使っている。

デフォルトでスタイルがいくつか用意されているが、もっとスタイルを追加したかったので調べてみました。

編集するファイルは、

/plugins/fckeditor-for-wordpress-plugin/ckeditor/plugins/stylescombo/styles/default.js

たとえば、スタイルシートで使う clear: both; を追加したい場合、下記のコードを適当な場所に入れてやります。

{name:'Clear both',element:'p',styles:{'clear':'both'}}

こんな感じです。

fckeditor-for-wordpress-plugin のバージョンは 3.1.1。

Wordpress 2.8.6 で確認。:P

Googleカレンダーを入れてみる

Googleカレンダーを入れたテストです。

簡単に入れることができるので、これは使えます!

詳しくはまた後日レポートします。

My Category Order の設定

サイドバーのカテゴリーの順番を自由に入れ替えるためのプラグインだが、少し注意が必要。

まずここからMy Category Order をダウンロードする

  1. プラグインフォルダにアップロードし、プラグイン管理で「使用する」をクリックして有効にする。
  2. wp-includes/taxonomy.php のパーミッションを 666 にする。
  3. sidebar.phpのカテゴリー表示部分を次のように変更する。
    <?php wp_list_categories('orderby=order&title_li='); ?>

My Category Order はウィジェットにも対応しているのでウィジェットを使うときは適宜設定する。

ドラッグするだけで簡単にカテゴリーの順番を変えれるのですごく便利だ。

All in One SEO Pack より HeadSpace2

All in One SEO Pack 日本語版をこちらからダウンロードしてインストールしてみたが、日本語ローカライズがうまく適用されなかったので、同じサイトにある HeadSpace2日本語版 を使ってみたが、これ結構いい!

各記事、各ページになにも設定しない場合に表示させるタイトルと説明を設定することもできるし、各ページのタイトルを記事タイトルを自動挿入させたりタグを自動的にキーワードに設定することもできるのでかなりいいと思う :-P

Home > WordPress Archive

Return to page top