カテゴリー別アーカイブ: WordPress

さくらサーバーでWordPress2.9にアップグレードする

さくらサーバーを使用しているのですが、WordPress2.9にアップグレードすることができませんでした。

WordPress2.8からは自動アップグレード機能があり、アップグレードのボタンを押したまではよかったのですが、
見事に失敗し下記エラー文言が表示されました。

The update cannot be installed because WordPress 2.9.2 requires MySQL version 4.1.2 or higher. You are running version 4.0.27.

インストール失敗

WordPress2.9からはmysql の指定バージョンがあがっていて、mysql4.0では動きません。
さくらサーバーではmysql5.0に移行していますが、mysql4.0でDBを作成した場合には、
一度mysql4.0のDBを削除して、新規にDBを作り直す必要があります。

DB削除するまえには必ずバックアップをとってください。

DBをmysql5.1で作り直したあとは、phpmyadminからインポートします。

手順は下記URLを参照しました。
さくらインターネットのレンタルサーバで WordPress 2.9 へアップグレードできない方へ – Bamboo Studio * バンブースタジオ | Blog™

さくらのレンタルサーバでMySQLを4→5にしてWordpressのバージョンアップを可能にする方法 – Nakamori Report

さくらサーバ:MySQL4からMySQL5に変更 – 疲れたくないクラシの処方箋

自分が行った場合は、 バックアップしたファイルが大きすぎてphpmyadminからのインポートができませんでした。
そのため、FTPでバックアップしたsqlファイルをUPして、ssh でサーバーにログインして、sqlを実行しました。

■ターミナル操作

ssh ログイン名@ドメイン名
パスワードを聞かれるので入力
%pwd 
%/home/ログイン名/
%cp backup***.sql  /home/ログイン名
%cd ../
%mysql -h mysql***.db.sakura.ne.jp -u ログイン名 -p ログイン名 < backup***.sql
パスワードを聞かれるので入力

数分まって実行が終了したら、ブラウザからwordpressを閲覧して、データがもどったか確認する。

その後、管理画面から自動アップグレードをおこなったが、またもやエラー。
インストール失敗

Allowed memory size of 33554432 bytes exhausted (tried to allocate 2804864 bytes) in /home/***/www/wordpress/wp-includes/http.php on line 1331

実行メモリーの制限がかかっていて失敗とのこと。
サクラサーバーはphp.iniの編集ができるので、さくらのコントロールパネルより

アプリケーションの設定 > php設定の編集 > php.ini設定の枠内に

memory_limit = 64M

を記述し保存。

再度wordpresの管理画面から自動アップグレードを行い、無事アップグレードできました。

ページナビゲーションを表示するwp-pagenavi

navi

今いるページをナビゲーション表示するプラグインです。
WP-PageNavi 日本語版 – MMRT daily life
よりダウンロードします。 
表示させるページに

<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>

を記載します。
記載後、管理画面 > プラグイン より
WP-PageNaviを有効にします。

画像をリサイズしてくれるTimThumb PHP

画像をリサイズしてくれるTimThumb PHPというscriptがあるのですが、TimThumb PHPを使用しているテンプレートの編集で
つまづきました。

使用方法は

 <img src="/scripts/timthumb.php?src=/images/whatever.jpg&h=150&w=150&zc=1" alt="">
 

と書かれているのですが、「src」にどうやって値を渡してよいのかわかりませんでした。

悩み調べた結果、記事投稿欄にある「カスタムフィールド」を使って値を渡すようです。

カスタムフィールドは初期の状態だと(拡張プラグインがあります。)名前と値を入力する欄があります。
TimThumb PHPを使用するような特別な状況でないと、カスタムフィールドの欄は使用しません。

ただカスタムフィールドを使用すると記事ごとに差別化ができるため、わかってくると重宝しそうです。

WordPressの関数に「 get_post_meta」があります。カスタムフィールドの情報を取得する関数です。

今回つまづいたのはこの関数の記述に気がつかなかったため。。。

関数の使い方は

<? php echo get_post_meta($post->ID,'***',+++); ?>

$post->ID・・・IDを指定
***・・・カスタムフィールドで指定したキー文字列
+++・・・true – 単一結果の文字列を取得
     /false(default) – カスタムフィールドの配列を取得


というソースだったので、
カスタムフィールドに
名前(キー)→screen
値 →srcのURLパス

を入力して、更新することで解決しました。
WordPressは実に多機能です。。。

参考:
WordPress関数 get_post_meta | marupeke
画像をサーバ側で好きなサイズにリサイズできるPHPスクリプト:phpspot開発日誌

一つのレンタルサーバーに複数のWordPressをインストールする

WordPressになれていないと一つのレンタルサーバーに1つしかWordPressをインストールすることが
できないように思われますが、複数インストールすることができます。

新規にWordPressを構築するのもよいのですが、手っ取り早くインストール済みのものを使用します。

WordPressがインストールされているフォルダをリネームしてコピー

wordpress/wp-config.phpの中にある

$table_prefix  = 'wp_';

となっているwp_の部分を適当な半角英数字に変えます。

保存したらアップロードし、リネームしたwordpressのフォルダにブラウザからアクセスします。すると

wordpress-install1

じゃーん!インストール前の画面がでました。
必要情報を入力して、「WordPressをインストール」のボタンをクリックします。

wordpress-install2

インストールが終了します。

サーバー容量があれば、同じ方法で、何個でもインストールが可能です。

WordPressのHTMLエディタを使うとPタグが自動で入るのを無効化する

WordPressのエディタにはビジュアルモードとHTMLモードの2種類がありますが、
HTMLモードで改行を入れたテキストに対して、<p>が自動補完されます。
Pタグがあることで妙なマークアップになることを解消することが必要な場合があるかもしれません。

☆Pタグが自動で入るのを無効化する方法

wp-includes/default-filters.phpをコメントアウト編集します。

[1]

add_filter('the_content', 'wpautop');
↓	↓	↓
//add_filter('the_content', 'wpautop');

[2]

add_filter('the_excerpt', 'wpautop');
↓  ↓  ↓
//add_filter('the_excerpt', 'wpautop');

wp-includes/plugin.phpにadd_filterの定義がされています。
第1引数がtag
第2引数がフィルターを追加する関数
のようです。
なので、
[1]はthe_contentの独自ダグに対して、wpautopの機能を追加という意味でしょう。

wp-includes/formatting.phpにwpautopの定義がされています。

簡単に行うには、WordPressのpタグ自動追加をオフにするプラグインを使用するのが良いかもしれません。
WordPressのpタグ自動追加をオフにするプラグイン。

WordPressでのSEO対策パーマリンク設定

SEO対策として静的URLにすると良いといわれています。
静的URLと対象に動的URLがあります。

例1

blog.livegoods.net/archives/test.html

例2

blog.livegoods.net?p=123

例2のようなURLを動的URLといい、「?p=123」が動的パラメータと呼ばれます。

動的URLは検索エンジンと相性が悪く、インデックス化の対象にはなるが、動的パラメータがURLに多く含まれていると
検索エンジンが嫌い、URLが登録されない場合があるとされています。

WordPressをインストールした直後に記事を投稿すると例2のようなURLが自動で生成されますので、
SEO対策として好ましくありません。 Apacheの設定ファイルを変更したり、.htaccessを編集してURLを書き換えることもできますが、
WordPressの機能であるパーマリンク設定でSEO対策用の設定をします。

☆設定方法

WordPressの管理画面にログインして、左カラムの

設定 > パーマリンク設定

をクリックします。

パーマリンク設定のページが開きます。

per1

パーマリンク設定ページでは自分の好きなURLに変更できますが、今回は
例2のURLを


http://blog.livegoods.net/archives/12/04/てすと.html

に変更しようと思います

一般的な設定のカスタム構造をクリックして、
テキストボックスに

/archives/%monthnum%/%day%/%postname%.html

と入力して、変更を保存をクリックします。

per2

管理画面の

投稿 > 新規追加

をクリックして、記事の投稿画面に移ります。

pwe3

記事を入力すると自動保存がされ、その後にパーマリンクが表示されます。
パーマリンク部分には記事のタイトル内容が入力されます。
「編集」をクリックするとパーマリンク名を編集できますので、「てすと」=>「test」
に直し、「保存」をクリックします。
投稿すると、編集したパーマリンクで記事が生成されます。

%postname%はパーマリンク設定にて使用できるタグです。もっと自由にカスタムできますので、詳しくは
パーマリンクの使い方を参照
してください。

Google Sitemap Generator for WordPressをモバイルサイトマップに対応させる修正方法

Google Sitemap Generator 3.2で検証しました。
モバイル サイトマップの作成 – ウェブマスター/サイト所有者 ヘルプに仕様をあわせます。

xmlns:mobile=”http://www.google.com/schemas/sitemap-mobile/1.0と

が足りていませんので、追加修正します。

Google Sitemap Generatorのsitemap-core.php 1672行目 

$this->AddElement(new GoogleSitemapGeneratorXmlEntry('<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'));

$this->AddElement(new GoogleSitemapGeneratorXmlEntry('<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"  xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0">'));

に置き換えます。

Google Sitemap Generatorのsitemap-core.php 405行目

$r.= "t</url>n";

の一行前に

$r.= "tt<mobile:mobile/>n";

を追加します。

追加した後はWordPressの管理画面からSitemapの再構築をします。

Ktai styleで絵文字を入力する方法

携帯サイトっぽく見せるためには絵文字は必須です。

WordPressのプラグインKtai Style を使用した場合に絵文字を使いたい!
ときには
投稿ページに

<img localsrc=”NNN” />

と記入します。NNNに絵文字ナンバーが入ります。
NNNはKDDIの絵文字コード表を参照。

Ktai Styleでは携帯キャリアごとに表示の絵文字を判別表示させるようですが、
絵文字入力はimgタグを使用しないといけないようです。

▼参考
Ktai Style 使用時 にPCコメントで携帯絵文字入力