カテゴリー別アーカイブ: 設定メモ

[WordPress] シェル + cron でデータベースをバックアップする

ロリポップのレンタルサーバを使って WordPress を運用している場合の例です。
以下のスクリプトを backup.sh などのファイル名で保存し、FTP ソフトでサーバにアップロードします。
レンタルサーバが提供している cron 機能でスクリプトを定期的に実行するようにします。(私は毎日1回実行させています。)


#!/bin/sh

# Mysqlユーザ名
mysql_user=xxxxxxxx

# Mysqlユーザパスワード
mysql_pw=xxxxxxxx

# ホスト名
host_name=xxxxxxxx

# バックアップ先
save_dir=~/web/xxxxxxxx/backup/

# バックアップファイル名
bak=`date +%Y_%m_%d`

# バックアップするDB
mysql_db_name=xxxxxxxx

# バックアップファイルを残す数
max_save_count=3

mysqldump --opt -u $mysql_user --password=$mysql_pw -h $host_name $mysql_db_name > $save_dir$bak.sql
chmod 644 $save_dir$bak.sql

zip $save_dir$bak.sql.zip $save_dir$bak.sql

rm -rf $save_dir$bak.sql

file_count=`ls -F1 $save_dir | grep -v / | wc -l`
if [ $file_count -gt $max_save_count ] ; then
rm -rf $save_dir`ls -F1tr $save_dir | grep -v / | head -n 1`
fi

私の場合は、バックアップ先を WordPress インストールディレクトリ内にすることで、ファイルのバックアップ時に一緒にデータベースのバックアップもダウンロードしています。

[WordPress] テーマ編集画面で403(FORBIDDEN)

WordPressのテーマ編集画面でちょこちょこっといじって「ファイルを更新」ボタンを押すと403エラー(FORBIDDEN)。アク禁です。

えーーーーー!!

調べてみると使っているレンタルサーバーの問題でした(ロリポップ!)。

最近ロリポップ!に搭載された「WAF(ウェブアプリケーションファイアウォール)」機能!
不正アクセスによるサイトの改ざんや情報漏洩を防ぐ機能だそうです。 ロリポップ!では全プランでWAFを標準装備。

以前からあるドメイン(サブドメイン)では設定が無効になっているのですが、新規でサブドメインを作成するとWAFがデフォルトで有効になっているようです。これが問題だったか・・・。

設定場所は、
管理画面>WEBツール>WAF設定
です。
ドメイン(サブドメイン)毎に有効・無効の設定が可能です。

設定を「無効」にして・・・テーマ編集を試すと・・・

ええええ!まだエラー(403)出る!

なんでやねん!

あ・・・

「 設定変更後、反映に5~10分ほど時間を要します。」

焦った^^;

その後、無事エラーが出なくなる。

サイトの構築・修正がひと通り終わったらWAFを有効にしておけばいいのかな。

WordPressループの最大ループ数を変更したい

メインページやアーカイブページなどで投稿や固定ページを出力しますが、この出力はテンプレート内の「WordPressループ」で行われている。

WordPressループとはよくあるこんな感じのやつです。↓

<?php if(have_posts()): while(have_posts()): the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php the_content(); ?>
<?php endwhile; endif; ?>

このループの数を増やしたいけど、ちょっと調べても関数に渡す引数とかないしな~と思ってたら、このループ数はダッシュボードから設定できるみたい。(管理者が定数として設定するんですね。DBに登録される。)

ダッシュボード>設定>表示設定 の 「1ページに表示する最大投稿数」

で設定できます。

普通に使っていれば気付くのに、調子乗って自分でテーマの編集をしているとハマってしまったダサいパターンですw

 

WordPress のカスタムフィールドが消えた!?

WordPressで投稿をしようとしたら、あれ?いつもと違う・・・

カスタムフィールドがない!

カスタムフィールドが消えた!?

なんで?

誰も使わねーからバージョンアップでカスタムフィールドの機能が削除されたのか?とか無さそうな妄想をしながら色々調べてたら・・・画面右上の「表示オプション」というやつの仕業でした。

カスタムフィールドが消えた!?

いつの間にチェックが外れていたんだ?触った覚えもないのに。カスタムフィールドが表示されない!消えた!無くなった!という人は投稿画面で右上に注目!

WordPressアップデートでデフォルトテーマの Twenty Ten が上書きされてしまった

WordPress 3.0 ~ のデフォルトテーマである「Twenty Ten」のテーマファイルを少しカスタマイズして使用していた。(style.cssやsingle.phpなど)

日本語版WordPressが 3.1.2 → 3.1.3 にバージョンアップできるようになったのでやった。

無事にアップデート完了。

と思ったら何だか表示が変わったような。。。

上書きされてる!!!

デフォルトテーマの「Twenty Ten」のテーマファイルが上書きされてる!

がーん。

しかーし、たまたま3日前にサーバ上の全ファイルバックアップしていた。

上書きされたテーマファイルとバックアップしていたテーマファイルのバージョンを調べてみるとどちらも「1.2」。つまりテーマファイルはバージョンアップされていなかったみたい。
ということでバックアップしていたカスタマイズ済みのテーマファイルをごっそりサーバにアップした。
(テーマファイル群のstyle.cssの上部にバージョンが記載されている)

表示は元に戻って一件落着。

しかし、今後WordPress本体のアップデートの度にこんな作業を繰り返してたら手間がかかってしょうがない。何か方法はないのだろうk・・・あるらしい!

「子テーマ」というものがあるらしい。
「子テーマ」は、別のテーマ(親テーマ)の機能を継承し、その機能にさらに機能を追加したりその機能を調整したりすることのできるテーマ。
親テーマがアップデートされても子テーマの変更は保持される。
↓詳しい解説や使い方はこちら
WordPress Codex 日本語版「子テーマ」

早速やってみます!

レストランが作るこだわりの逸品から会議弁当やピザチェーンまで、出前・宅配の総合グルメサイト『ぐるなびデリバリー』

カテゴリページを記事リスト表示にする

カテゴリーページを記事リスト表示にするには
テーマ編集>カテゴリーテンプレート(category.php)
に以下を挿入する。


<ul> <?php if ($posts) : foreach ($posts as $post) : start_wp(); ?> <li id="catpost-<?php the_ID(); ?>"> <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title(); ?>"> <?php the_title(); ?></a></li> <?php endforeach; else: ?> </ul> <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> <?php endif; ?>

※挿入するたけじゃなく、不要になる部分を削除すること。

<a>タグにtarget属性を設定したり、cssで表示をカスタマイズすると良い!

[カスタム例]
投稿日時を表示するには、


<?php the_day('[Y/m/d]'); ?>

を挿入する。

WordPressインストール後の設定

【基本設定編】

  • [◎]テーマを選ぶ。
  • [◎]パーマリンク設定>一般的な設定
    カスタム構造「/%year%/%monthnum%/%day%/%post_id%.html」など
    参照:http://wpdocs.sourceforge.jp/Using_Permalinks
  • [◎]カテゴリーのスラッグをすべて半角小文字で、英数字とハイフンのみにする。
  • [◯]コメント、トラックバックの設定。
  • [◯](テーマによっては、)カテゴリページの表示を、記事リストが表示されるようにカスタマイズする。
  • [△]pingの設定。
  • [△]必要によっては管理画面へのリンクを隠す。
  • [△]掲示板を設置(掲示板用の固定ページを作ってコメント機能にて実装)

【おすすめプラグイン】

  • [◎]Akismet
  • スパムコメントやスパムトラックバックを自動的に削除してくれる、WordPress標準装備のプラグイン。

  • [◎]WP Multibyte Patch
  • WordPress日本語版に最初から同梱されているプラグイン。日本語処理を行う際に起きるさまざまな不具合を解決するためのバッチプログラムを動作させるプラグイン。日本語を使うなら有効化すること。
    日本語を正しく表示させる設定。

  • [◎]WP-DB-Backup (WordPress Database Backup)
  • データベースのバックアップをしてくれる。(スケジュール機能有り)
    おすすめスケジュール設定→週一回、メール送信。

  • [◯]Ktai Style
  • ケータイ用のWEBページを出力してくれる、純国産のプラグイン。

  • [◯]WP Super Cache
  • キャッシュを使ってWEBサイトの表示を高速化。
    簡単に利用するなら「簡易(Easy)」→「キャッシング利用(Caching On)」を選択→「ステータスを更新」をクリック。
    ※利用するにはパーマリンク設定をカスタマイズしている必要がある。

  • [◯]Google Analyticator
  • Google Analyticsを利用できるプラグイン。ダッシュボードに管理な統計を表示できる。ウィジットにも設置可。

  • [△]Tweetable
  • 投稿を追加すると自動的にツイートしたり、WordPressの管理画面からTwitterを更新したりできる。

  • [△]Breadcrumb NavXT
  • パンくずリストを表示する。パンくずリストをウィジットに表示するには「BreadCrumb NavXT Widget」もインストールする。

  • [△]JQuery Colorbox
  • 画像ファイルをライトボックス(別ページで開くこと無く、ページ上に画像が拡大表示され、周囲の背景を暗くしたりして写真を浮かび上がらせる見せ方)で開く。

  • [△]Like
  • 投稿やページにFacebookの「いいね!」ボタンを付ける。

  • [△]Sociable
  • 投稿やページにソーシャルサービスへの共有ボタンを設置。

  • [△]User Role Editor
  • ユーザーの権限を細かくカスタマイズして設定することができる。複数人で管理するサイトに便利なプラグイン。

  • [△]WPtouch
  • スマートフォンに対応したWEBページを出力する非常に完成度の高いプラグイン。現在使っているテーマがスマートフォンの表示に対応していない場合は入れることをオススメ。

  • [△]Exec-PHP
  • 投稿、ページ、ウィジットでPHPコードが実行できるようにするプラグイン。

◎:推奨
◯:オススメ
△:必要があれば

思いついたら追記していきます。
おすすめセットアップ項目あれば教えてくださいまーしー!