WordPress で運用している複数のサイトの記事を、別のサイトに読み込んで表示する方法

何ができるか?

WordPress で運用している複数のサイトの記事を、別のサイトに読み込んで表示できる。

WordPress のテンプレートタグは使えないのか?

「複数サイト」という条件があると、使えない。

PHP でこれを付けると、同じドメインに限り記事を読み込めるが、「複数サイト」で読み込む方法が見つからなかった。

方法

jQuery で、WordPress のJSON を読み込む

“http://www.hogehoge.com/wp1/” にWordPress がインストールされている場合、次のURL でアクセスすると、JSON が取得できる。

“posts”以降の記述は、”_embed”で写真データを要求、”per_page=3” で記事を3つ取得

HTML の表示部分

JavaScript コード

複数ブログを読み込む

HTML の表示部分

JavaScript コード

Google 検索から特定のサイトを村八分にしたい

この記事のように設定すると、Chrome を使ってゲーム攻略のためにGoogle 検索しても、GameWith のサイトが検索結果に出てこなくなる。

条件

Google Chrome を使う
Google Chrome

手順

1) Chrome 拡張機能、”Personal blocklist“をインストールする

Personal blocklist

2) ブラウザ右上に表示されたPersonal blocklist のアイコンをクリックして、「インポート」をクリック
2) ブラウザ右上に表示されたPersonal blocklist のアイコンをクリックして、「インポート」をクリック

3) 該当サイトのURL を入力して「インポート」をクリック
3) 該当サイトのURL を入力して「インポート」をクリック(改行すると、複数サイトを検索除外できる)

(改行すると、複数サイトを検索除外できる)

4) インポートが完了
インポートが完了

設定前

「MHW 英雄の龍脈石」検索すると、該当サイトが表示されている
「MHW 英雄の龍脈石」検索すると、該当サイトが表示されている

設定後

検索結果から、該当サイトの検索結果が除外されている
検索結果から、該当サイトの検索結果が除外されている

「Personal Blocklist 拡張機能によって一部の検索結果が除外されています。 (表示).」の表示をクリックすると、除外された検索結果が閲覧できる。
「Personal Blocklist 拡張機能によって一部の検索結果が除外されています。 (表示).」の表示をクリックすると、除外された検索結果が閲覧できる。

備考

スマートフォンのChrome には、この拡張機能が対応していないのが惜しい。

Excel の表からHTML を書きたい

クライアントからリストを渡されて、それをHTML 化するとき、エディタでコピペするのは面倒だ。かといってデータベースを使うほどでもない時に、Excel を使う。

HTML構造

手順:

1)Excel で、品名、価格、コメントのリストを作成

表

2)Excel で、タグのセルではさまれた列に、それぞれのデータを貼り付け

HTML表 HTMLに表を貼り付け

3)タグを含んだセルを丸ごとコピーして、エディタで開いたHTML に貼り付け
例)

4)コードを整形

DreamWeaver CC
編集>コード>ソースフォーマットの適応

Eclipse
ソース>フォーマット
もしくは[Ctrl+Shift+F]ショートカット

小ネタ

ホームページから直接データを拾ってくる場合、表ならFirefox 限定で表選択(Ctrl + マウスドラッグ)ができる。

または、文章ダブルクリックで単語選択
トリプルクリックで段落選択できるので、これを利用する。

Windows 10 のエクスプローラーで、画像表示をサムネイルと詳細にすぐに切り替えたい

画像素材を探したり、レタッチした画像をエクスプローラーで確認している時、大アイコンと詳細を切り替えたい時がある。これまでは右クリックメニューの「表示」メニューを使って切り替えていたが、この切り替えボタンとショートカットがあることを知った。

何ができるか

エクスプローラーの「大アイコン/詳細」切り替えを、3動作から1動作に削減できる

方法

Windows 10で右下のボタンを押す

大アイコン表示
エクスプローラー、大アイコン表示

詳細表示
エクスプローラー、詳細表示

ショートカット

[Ctrl + Shift + 2] 大アイコン表示
[Ctrl + Shift + 6] 詳細

フォームでjQuery を使って、年月日それぞれのプルダウンメニューを、1つの項目にまとめたい

スマートフォン向けに年月日を選択できるWeb フォームで、それぞれ個別にプルダウン選択できるようにしたい。でも、送信する項目はひとまとめにしたい。

フォーム例
年月日のフォーム

対応

  • 年月日をそれぞれ3つのプルダウンメニューを作る
  • 年月日をまとめるフォーム”mydate” を hidden で追記
  • ID を割り振って、onChange でonChangeDate() を実行
    • 年月日それぞれの選択された値を取得して、”mydate”のvalue に設定

ソース

フォルダを任意のタイミングでバックアップするバッチファイル

後輩が、ウェブサイトコーディング中に、トラブルがあってバックアップしたファイルで巻き戻したとき、別のコードが消えているという2次被害を何度か起こしていた。気づいたことを本人に聞いたところ、「想定したよりバックアップの機会が少なかったから、起きた気がする。」とあった。そのため、バックアップ自体を簡単にしてみることにした。圧縮には7zip を使うので、事前にインストールすること。

参照

cmdのbatを使ってフォルダをCOPYして7zipで圧縮し最後に削除する方法 これくらいブログ
http://korekurai.com/itrelated/cmd-bat-7zip-folder.html

注意

手元の環境で実装するなら、まず空のフォルダで試すこと。安全に失敗するのが推奨される。

構造

バックアップ元

バックアップ先

backup_myfolder.bat

内訳

  1. DATENAME に年月日と時間の値を設定
  2. SOURCEPATH にバックアップ元のパスを設定
  3. TARGETZIP で圧縮ファイル名に年月日と時間を加える
  4. TARGETPATH にバックアップ先のパスを設定
  5. TARGETDIR にバックアップするフォルダ名を設定
  6. XCOPY でフォルダをコピー
  7. 7ZIP でコピーしたフォルダを圧縮
  8. rmdir で圧縮元フォルダを削除
  9. 最後に、バックアップの動作が行われたかを3秒だけ表示する

まとめ

動作テストして、問題がなければ対象フォルダの中身を入れよう。
作成したバッチファイルをランチャーに入れれば、任意のタイミングでバックアップできる。Windows のタスクに設定すれば、起動時や休憩時間にバックアップを自動でバックアップできるようになる。
コーディングが終われば、バッチファイルを解除しよう。

バックアップの定期復元テストは有用か?

わたしの経験では、バックアップの定期復元テストは有用だった。本記事で経験した内容を紹介する。

背景

とあるウェブサービスで、データベースを吹っ飛ばし、6重のバックアップが全滅していた話を聞いてぞっとしたから。

問題とその対策

ファイルサーバーへのバックアップが、一部ダウンロードされていなかった
バッチファイルの待機時間が長くて、別のタスクで実施された再起動で中断していた。待機時間を短く変更
ファイルサーバーで、古いファイルが自動削除されていなかった
バッチファイルを修正
設定に追加したサイトのバックアップが、ファイルサーバーにダウンロードされていなかった
サーバー側のバックアップファイル作成時間がバッチファイル実行時間より遅かった。順序を一致させた
ローカルでバッチ処理するパソコン乗り換えで、一部処理されないサイトが発生
ダウンロード管理表を使って、タスクを正しい時間に実行されるよう修正
復元作業手順書に書かれていない処理が分からず復元失敗
手順書を現状に即した内容で修正
復元先を間違えて、復元失敗
手順の中で、復元先を間違わないよう、日本語でディレクトリが分かるようにツールを変更

波及効果

  • 管理者がだれでも短時間で復元できるようになった
  • 手順書の強化に寄与できた

小規模サイト、サーバー自動バックアップ

2サイト以上の小規模なサイト運用をしている管理者にとって、バックアップは重要だが手間のかかる作業だ。ここを自動化した。詳細は別途、記事にする。

前提
Cron が使えるレンタルサーバー
本記事では、さくらインターネットのレンタルサーバーを例にする

概要

サーバー自動バックアップ

DBバックアップ:さくらのレンタルサーバーでシェルを使う、実行はCron を1時間ごとに実行
ファイルのダウンロード:Windows のバッチ処理でFTP 接続を使ってダウンロード、バッチはタスクスケジューラーを使って毎週実行
バックアップは1サイトのディレクトリとDBを圧縮している
サーバー丸ごとバックアップしないのは、負荷分散と、復元が1サイトごとになると想定しているため

必要な手動作業

  • バックアップ動作を監視する
  • 復元テストを定期的に実行する(1回/月、月初に)
  • 社内Wiki などに、復元作業手順書、復元テスト履歴を記載する
  • 自動化に必要なシェル、バッチファイル、スケジュール計画表を管理

動作

Cron でシェルスクリプトを実行。コンテンツとDBをサーバー内に圧縮保存(毎日0時~、1時間おきに1サイトをバックアップ)
タスクスケジューラーで毎週土曜日12:00~、1時間おきにバッチファイルを実行する
バッチ処理で作業場内のファイルサーバーにデータをダウンロード

管理用ツール

Podesora

Podesora  はターミナル。
さくらのレンタルサーバーでシェルスクリプトを手動で動かす
シェルスクリプトの文字エンコーディング:SJIS(管理者用メールで文字化けしないため)
SSH接続例)

例) /home/mysite/backup/backup_website1.sh と入力、バックアップのシェルスクリプトを実行

7-Zip File Manager 圧縮、解凍ソフト

7-zip は、.sql.bz .tar.gz2 を解凍する

データベースを解凍するときは、文字エンコーディングを”UTF-8″にする。(SJIS だと文字化けする)

Sass, Compass の導入

目的

DreamWeaver などのエディタで、Sass, Compass の自動コンパイルを使えるようにする。

背景

DreamWeaver のCompass コンパイルを使おうとすると、予期せぬ振る舞いでCSS書き出しディレクトリを指定できなかった

参考:DreamWeaver CC を使いWordPress テーマ内でCompass のコンパイルが正常にできなかった

Windows でSass とCompass を使う

SassとCompassのインストールの方法

Ruby をインストールする
Ruby をダウンロードしてインストール
https://rubyinstaller.org/downloads/

  • Ruby 2.x.x-x (x64) – Windows が64bit の場合
  • Ruby 2.x.x-x (x86) – Windows が32bit の場合

インストールの際、オプションの「Rubyの実行ファイルへ環境変数PATHを設定する」にチェックを入れるのを忘れずに。

コマンドプロンプトを立ち上げる
[Windows]キーを押して、”cmd”と入力
gem のバージョン確認

バージョンが出力される

アップデートが始まる

Sass とCompass をインストール

インストールが終わったらバージョンを確認する

バージョンの確認ができれば、インストール済みだと分かる。
※compass のインストールで、新しすぎるruby だとインストールできないエラーが起きた。
この場合、Ruby を一旦アンインストールし、1つ前のバージョンをインストールして試す。

WordPress インストール済みのディレクトリ構造

“config.rb”, “compass_start.bat” はこのあと作成する。

Compass の初期設定

コマンドプロンプトで、Sass, Compass を作成するディレクトリに移動する
面倒なら、エクスプローラーを開いて、該当するテーマのフォルダを開き、アドレスバーを選択(ショートカット[Alt+D])して”cmd”と入力

コマンドプロンプトで次のように入力

実行すると、次のようなファイルが作成される。

“sass”, “stylesheets” のフォルダは今回使わないため、エクスプローラーから削除しておく。

ツールを使って書き出される、デフォルトの設定

これを、WordPress テーマ内の構造に合わせて書き換える

config.rb の記述

CSS はテーマ直下のstyle.css として書き出す

compass_start.bat の設定

メモ帳などのエディタを開いて、下記を記述。

ファイルを保存するとき、テーマ内のフォルダを指定、”compass_start.bat”と名付けて保存
ただし、エクスプローラーで確認すると”compass_start.bat.txt” のようにテキストファイルの拡張子がついていることがあるため、ファイル名の”.txt”を削除

ランチャーを使っている場合、compass_start.bat はランチャーに登録しておく

動作テスト

compass_start.bat を実行
コマンドプロンプトが立ち上がって、監視が始まる

scss/test.scss を作成
試しにCSS を書く

ファイルを保存するとコマンドプロンプトにコンパイルの結果が表示される

書き出しが成功したら、テーマ直下に”test.css” が出力される
compass_start.bat の監視を終了するには、コマンドプロンプトで[Ctrl+C]を押した後のあと”y”と入力して[Enter]を押す

scss/style.scss を作成、WordPress のテーマ設定コメントが消えないようにする

これを

このように書き換え。
コメント開始を”/*!”にすることで、コンパイル時にWordPress で使うコメントが削除されなくなる