WordPress メモ, 2nd GIG

テーマ:Imbalance 2

少し前からjQuery Masonryを使ったテーマに乗り換えたいと思って、色々と試行錯誤していて結局、Wpshowerにある、Imbalance 2 に決定。

勿論このままでは使えないので色々と修正…したいのだが、テーマの各ファイルを見て目が点になったと言うか、「あー今はこういうカンジでテーマ構築するのかー」と。

今まで使っていなかったアイキャッチ画像を使い始めた。
元々テキストがメインのブログだったのだが、アイキャッチを使う事で多少賑やかになった気がする。
…けど、統一感が無いんだよなぁ…

2011/09/10

ソーシャルブックマークボタン設置

このブログは大本営サイトなので、コメント機能は外している。
とは言え、全く何も無いのは寂しいので今回、ソーシャルブックマークボタンを設置してみた。

プラグインを探せば当然あるが、個人的に、「Twitter」「Facebookいいね」「mixiイイネ!」「Google+」が欲しかったので、jQuery.socialbutton をテーマファイルに直接記述。
尚、Imbalance 2テーマにも、「Twitter」「Facebookいいね」が追加されているが、ちょっとそこに追加するのはしんどそうなので、完全書き換えした。

そこで生じたのが、ボタンのずれだった。

□□ □
  □

…みたいなカンジで、対応に悩んだが、よくよく追いかけると、テーマファイルのCSSの(例えば)イメージ属性が、ソーシャルブックマークボタンに継承されているんだなぁと。

で、個人的にはカウント件数不要だし、ボタンも各サービスオリジナルのを使わず、統一したいのだが、全てを統一デザインで作成されたアイコンが存在しないため*01、pend。

2011/09/20

尚、例えば「ASCII.jp:Facebookの「いいね!」で売上は増えるのか?|清水 誠の「その指標がデザインを決める」」にあるTweetボタンを押下すると、「Facebookの「いいね!」で売上は増えるのか? #asciijp http://ascii.jp/e/626339/ via @asciijpeditors」と、ハッシュタグが付加されている。
ところが、jQuery.socialbutton のTwitterボタンの引数の仕様には、これが無いため、text引数に強制的に追加した。*02

$('.tweet').socialbutton('twitter', {
  button: 'none',
  lang: 'en',
  text: '<?php wp_title('|', true, 'right') . bloginfo('name'); ?> #ut_works',
  via: 'dollplayer2501' });

2011/10/08

緊急事態の発生:サーバデータ消失…

個人的には、このレンタルサーバ会社を風評被害に晒す必然性を感じないので*03、何があったのか、どういう原因だったのか、という様な情報は書かないが、結論的には、サーバ上のデータが全て無くなった。
更に最悪な事に、レンタルサーバ会社が独自にバックアップしていたデータも実はダメでしたという、如何とも遺憾な報告。
ファイル・MySQL・メール設定・他の設定等々、全て綺麗になってしまい、障害発生→復旧した時は、「まるで新規契約して、初めて管理者ログインしたみたいな」状態…正確には「まるで」は不要…だった。

ここで「こんなこともあろうかと」と言えれば良いのだが、残念ながらここは個人のヌルいサイトなので、バックアップなんて取ってる訳が無い。*04

その後、本年2010年5月時点のバックアップが見付かり*05、リストアしたけど、何か変な挙動なので、特にMySQLに関してはデータベース削除、再構築を行なった。
と、その前に、MySQLのダンプは取得したが。
それを元に、目ぼしい記事をアップしている最中。

これ、仕事だったら、間違い無く社会的信用を失う所だったが*06、趣味でやってるサイトなので、ショックは大きかったが*07、まぁ、笑って済ませる話だけど。
なので、もう少しバックアップ&リストアに関して、本腰入れないといけないなと思った次第。*08

2011/09/16

抜粋に関して何となく

あくまで、何となくの経験則だが…

各投稿で抜粋を設定せず、the_excerpt() にて出力すると、<!–more–> まで、それも設定していないと、(多分orデフォルト)日本語110文字まで出力しつつ、strip_tags() している。

各投稿で抜粋を指定する場合、アンカータグだけでなくイメージタグ*09等の各種HTMLタグも使える。*10
更に、この場合、各投稿ページには反映されない。
…という法則を利用して、抜粋イラネ、という記事に関しては、抜粋に&nbsp;のみ設定するとか。

2011/10/09

タグクラウドページ

昨今の数多くのWPテーマにおいては、ウィジェットでタグクラウドを実現していると思うが、現在利用している Imbalance 2 においては、何と、ウィジェットが使えない。
なので、functions.php に下記のショートコード用の関数を記述して、WordPress側で新規ページを作成して、そのショートコード([sc__tagcloud])を記述にて対応。
引数によってフォントサイズ変えるとかぐらいは追加したいものだが。

function fnc_tagcloud() {
 wp_tag_cloud('smallest=8&largest=16&number=0&orderby=name');
}
add_shortcode('sc__tagcloud', 'fnc_tagcloud');

2011/10/09

WordPressをバッチ処理的に何かする場合のベース

元々自分はバブルの頃のSIer出身なので、インターネット台頭以前、C/Sの時代、ジジイ共が「ネオダマ*11」と呪文の如く唱えていた頃は、オンライン処理よりも、ある意味、(夜間)バッチ処理の方に重点を置いていたんじゃあないかと思う。
ところが数年前、Web系に自分が宗旨替えして以降、全くバッチ処理が出て来ない。
たまに聞こえるのは、3.11後に、とある銀行が大迷惑を掛けたりとか。
Webは元々リアルタイムを旨とするのか、実は裏で小人さんが頑張ってるのか良く分からんが。*12

昔話はともかく、WordPressというフレームワークを使いながら、WordPressのトリガ…基本的には、誰かがWebからWordPressを呼び出す…以外からWordPressの仕組みを利用するコーディングに関して、WordPress プログラムからテストデータ作成 – 130単位 より抜粋。
例えば、下記のコーディングは、全くWordPressとは関係無いタイミングで実行可能。
cronなりWebなり好きなタイミングで実行できる。

$wp_root = '/foo/var/';
if (file_exists($wp_root.'/wp-load.php')) {
  require_once($wp_root.'/wp-load.php');
} else {
  require_once($wp_root.'/wp-config.php');
}
require_once(ABSPATH.'wp-admin/includes/post.php');

// 以下、例

$my_post = array();
$my_post['ID'] = 123;
$my_post['post_content'] = 'この本文は更新されました。';
wp_update_post($my_post);

ちなみに、自分がこの方法を確立していなかった頃…今だ今。今発見して試してみたので…、直接テーブル更新していた…非道い話だと思う。

$conn = mysql_connect('xxx', 'yyy', 'zzz') or die(mysql_error());
mysql_select_db('duelisto_mysql') or die(mysql_error());
mysql_query("SET NAMES utf8") or die(mysql_error());

 : 色々処理

UPDATE `wp_posts`
  SET `post_content` = 'boofoowoo',
      `post_excerpt` = 'hogehoge',
      `post_date` = 'Y/m/d H:i:s',
      `post_date_gmt` = 'Y/m/d H:i:s'
 WHERE `ID` = xx;

$rs = mysql_query($sqlstring);
echo "result " . mysql_affected_rows();

mysql_close($conn);

つか、WordPressがよく壊れなかったなぁと。*13

2011/10/09

Footnote

  1. あと、Google+の独自ボタンの使用法が良く分からんかも。どこかで見た記憶があるが。
  2. 通常は何も設定しなくとも、ブログ名・タイトルなどが設定される。
  3. どうしても、と言うならばドメインから勝手に調べてもらえれば。
  4. 自慢げに言うなよ。
  5. 騒動が起きたのが9月末だったのであまり嬉しくはなかったが…
  6. 実際、レンタルサーバ会社に乗り込んで来たヒトも居るみたいだ。
  7. とは言え、いずれサーバコンテンツの整理を行なう必要があったので、良いきっかけになったが。
  8. 多分バックアップまでは行なったとしても、リストアまでさくっと行なえるかどうか。
  9. 今、ダメ元でトライしてみたらできた。
  10. 自分の場合、引用タグを多様している気がする。
  11. 大 爆 笑
  12. 物凄く前、Insertトリガでログを生成、そのログを夜中にストアドでバッチ処理する、という仕組み作った事があるが。
  13. キャッシュとか使ってたらマズかったんじゃないか?

Related posts:

  1. WordPress メモ