WordPressにFacebookのいいねボタンをつけてみた。

2011年06月17日 00時33分 正午の月齢:15.6  月名:満月  潮汐:大潮 月齢:15.6[満月] 潮汐:大潮
(最終更新日:2019年09月17日)
15年前に投稿 | WordPress | コメントはありません

4分ぐらいで読めます。

「Second Life」の虚無感、「mixi」の閉鎖感、「Twitter」の孤独感。巷で流行したwebサービスはことごとく肌に合わなかったのですが、なぜか「Facebook」だけは結構楽しんでいます。(今のところ、ですが…)

さて、Facebookのキモチイイところは、端的に言えば「連続感」。SNS内外を問わず高速に連携します。そのうちの機能のひとつ「いいね(Like)」ボタンを実装してみました。

初めはWordPressのプラグインをいくつか試してみたのですが、どうも思い通りに動いてくれません。「いいね」ボタンの位置がおかしかったりします。結局いつものようにテーマファイル内に埋め込むことにしました。

  1. FacebookでApp IDを取得します。
    http://developers.facebook.com/setup/
    ここに自分のブログのURLとタイトルを入れて取得します。
    create-new-app
  2. 指示に従っていろいろと入力するとApp IDとサンプルコードが手に入ります。
    コピペでもいいのですが、html完全保存しておくといいでしょう。
    create-an-app
  3. 「いいね」ボタン設置に便利なソーシャルプラグイン「Like Button」があります。これを使うと各種設定を入れていくだけでコードを生成してくれます。説明書きは全部英語ですけど。
    like-button
    インラインフレームを使うものと、XFBMLを使うものの2種類のソースを吐き出してくれますが、そもそも当サイトのようにXHTMLで記述している場合はXFBMLしか選択の余地はないです。
  4. わざわざLike Buttonで生成しなくても、App IDと同時に書かれているサンプルコードをそのまま使えば、簡単にいいねボタンは作れます。

そうしてコードを埋め込んだものの、これで終わりではありません。というか、ここからがいろいろと大変でした。その理由とは…

早速「いいね」ボタンを押してみると、コメントを入力するフォームが開くのですが、ここに表示される画像がどうも気に入りません。記事内の画像を引っ張ってるようなのですが、関係ない画像(Another HTML-lint たいへんよくできましたバナー)だったりします。これではあまりにも不細工なので、まずはこれを解決します。そのためにはmeta要素をヘッダーに入れてやればよいとのことなので、

<meta property="og:title" content="<?php wp_title(' '); ?>" />
<meta property="og:type" content="blog" />
<meta property="og:image" content="<?php bloginfo('template_directory'); ?>/images/banner.gif" />
<meta property="og:url" content="<?php bloginfo('url'); ?>" />
<meta property="og:site_name" content="<?php bloginfo('name'); ?>" />
<meta property="fb:admins" content="137379896338515"/>

という感じでWordPressの関数を使いながら記述。いつも当サイトのバナーを表示することにしました。

次に、フォームが開いたときに記事のタイトル(日本語部分だけ)が盛大に文字化けします。scriptタグ内に文字コードを指定してもダメ。これを解決するために苦渋の決断をしました。それは「日本語を使った記事のタイトルをあきらめる」こと。

<meta property="og:title" content="<?php wp_title(' '); ?>" />

を、

<meta property="og:title" content="susu type automatic coupler" />

にしました。力任せな方法ですが、タイトルは化けなくなりました。ちっとも根本的な解決ではないですが別にいいんです。(ホントはちょっと悔しい。)

最後に、XHTML1.0 strictに準拠したマークアップの確認。Another HTML-lint gatewayでは<div id="fb-root"></div>の間に何も文字がないということで減点されるので、<div id="fb-root">&#8204;</div>という風に&#8204;(zero width non-joiner)を入れてごまかします。それからmeta要素のproperty属性で減点を喰らうので、name属性に変更しました。それでも正しく動いています。名前空間の宣言については特にいじっていません。

あとは今回の改造には関係ないのですが、WP-PageNaviを最新のものにしたらやたらと減点されたので、プルダウン式にしたりブロック要素で囲んだりして何とか100点を維持しています。

気が向いたら「いいね」ボタンを押してみて下さいませ。

ポケモンBW ゴチムとマッギョのアイコン

2011年06月14日 01時47分 正午の月齢:12.6  月名:十三夜  潮汐:中潮 月齢:12.6[十三夜] 潮汐:中潮
(最終更新日:2019年09月02日)
15年前に投稿 | ウェブ・IT関係 | コメントはありません

1分ぐらいで読めます。

ゴチム マッギョ

別に熱烈なポケモンマニアではないのですが、個性的なキャラクターはかなり好きなのです。特に進化していないカワイイのが好き。マッギョがカワイイかどうかは微妙ですが…

以前から32×32アイコンはたまに作ったりしていたので、ちょっとポケモンのキャラクターアイコンに挑戦してみました。

二次創作物ですので、著作権者からの申し立てがあれば即時削除します。それまでは自分のパソコンのデスクトップをカワイく彩りましょ。まぁ、基本的には自分用ですので。

PHPアップローダーのUTF-8・XHTML1.0化

2011年06月08日 20時35分 正午の月齢:6.6  月名:七日月  潮汐:小潮 月齢:6.6[七日月] 潮汐:小潮
(最終更新日:2021年08月31日)
15年前に投稿 | ウェブ・IT関係 | コメントはありません

1分ぐらいで読めます。

先日設置したアップローダーを、早速改造してみました。オリジナルからの主な改造点は3箇所。

  • タイムゾーンの設定追加
  • EUC-JPからUTF-8へ文字コード変更
  • XHTML1.0 strict対応(Another HTML-lint 100点対応)

タイムゾーンの追加以外は別にどうでもいいのですが、個人的な思想によるところが大きいです。本当はCSSも吟味したいところではあるのですが、ひとまずこの状態でアーカイブ。

「改造したプログラムを再配布する事は可能」ということなので、こちらに置いておきます。興味のある人はぜひお試しください。

アップローダーを設置してみた。

2011年06月05日 00時07分 正午の月齢:3.6  月名:黄昏月  潮汐:中潮 月齢:3.6[黄昏月] 潮汐:中潮
(最終更新日:2019年08月26日)
15年前に投稿 | 分類無用 | 1件のコメント

2分ぐらいで読めます。

知人たちとのファイルの交換を目的としてアップローダーを設置してみました。

いろいろなフリーソフトの中から「帰宅する部活製 PHPアップローダー」を選択。選択理由としては、PHPであること、元ファイル名が表示されること、ダウンロードパスワードが設定できることです。欲しい機能をすべて満たしています。

少し改造しました。まずは文字コード。EUC-JPで記述されていたので、UTF-8に変更。EUCのままでも何も問題はないのですが、当サイトと揃えたかっただけの理由です。

それからindex.phpへのタイムゾーンの追加。元々のファイルのままではアップロードしたときに、

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST' instead in /home/susu/susu.cc/public_html/uploader/index.php on line 280

と警告が出てしまいます。(PHP 5.1.0以降発生する警告のようです。)

これを回避するため、280行目「$ndate = date("Y/m/d H:i");」の前に、「date_default_timezone_set('Asia/Tokyo'); //タイムゾーン」を挿入します。これで警告もなくなって、正常に使うことができます。

あとは、CSSによるデザインの変更とXHTML1.0 strictに適合させれば、より理想のアップローダーになることでしょう。

さて、アップローダーそのものの管理をしっかりとしなくては。変なファイルをアップロードされませんように。

6月8日の「World IPv6 Day」と、IPv6接続性をテスト。

2011年06月03日 02時15分 正午の月齢:1.6  月名:二日月  潮汐:大潮 月齢:1.6[二日月] 潮汐:大潮
(最終更新日:2019年09月02日)
15年前に投稿 | ウェブ・IT関係 | コメントはありません

2分ぐらいで読めます。

Windows2000ユーザーとして、IPv4が枯渇してから結構このテの話題に敏感になってしまうのですが、こんな記事が。

6月8日、「World IPv6 Day」として、Yahoo!、Google、Facebook、Akamaiといったインターネットサービス事業者が一斉に自社のWebサイトのサービスをIPv6で提供するテストを行うが、それに伴い、Webサイトにアクセスできなくなる可能性があると注意喚起されている。

World IPv6 Dayは、ISP、ハードウェアベンダー、OSベンダー、Webサービス事業者などを含む業界の各団体において、IPv6導入のモチベーションを高め、IPv4アドレスの枯渇によって今後利用が必須となるIPv6への移行を成功させることを目的としている。

6月8日の「World IPv6 Day」、Webに接続できなくなる可能性も

さて、ネットが使えないと情報に飢えて死んでしまう(いやそこまで大げさではないけど)ので、現在の自分の環境をテストしてみました。

その結果…

一般のインターネット上で見えるあなたの IPv4 アドレスは ***.***.***.***

IPv6 アドレスが検出されませんでした [詳細]

World IPv6 Dayは2011年6月8日です。このブラウザ、この場所からは問題ないことが予想されます。 [詳細]

あなたは IPv4 インターネットのみを閲覧できるようです。あなたは IPv6 のみのサイトに到達できません。

あなたの DNS サーバ (おそらくお使いのプロバイダが運用) は、IPv6 インターネットアクセスがあるように思われます。

あなたの事前対応点

10/10
コンテンツ側が IPv4 および IPv6 を提供した際の、あなたの IPv4 の安定性と準備状況

0/10
コンテンツ側が IPv6 のみになった際の、あなたの IPv6 の安定性と準備状況

というような結果に。(IPアドレスは恥ずかしいので伏せています。)

とりあえず現状のまま運営されるウェブサイトに対しては今までどおり閲覧ができそうですが、「IPv6でないとダメなサイト」に対してはどうしようもないみたいです。

少なくともYouTube、2ちゃんねる、Facebook、ニコニコ動画くらいは閲覧できないと、涙がこぼれそう。

チップLEDで前照灯をつくるよ。(その5)

2011年06月01日 18時00分 正午の月齢:29.2  月名:月隠  潮汐:大潮 月齢:29.2[月隠] 潮汐:大潮
15年前に投稿 | 鉄道模型 | コメントはありません

2分ぐらいで読めます。

TMS6月号に亀師匠の作品・改(LEDライトアップ仕様)が掲載されていて感服です。

さて、良い術式が思い浮かばなくてしばらく頓挫していた思案していたのですが、少しアイデアが浮かんだので作業を再開します。まずはブラケットの再確認。

ブラケット完成

前進するときには右のレールに+、左のレールに-が流れるため、あらかじめアノード側配線を右に、カソード側配線を左に振っておきます。絶縁皮膜が怪しい部分は透明のプラスチック(封筒が入っていた袋)片を絶縁板にして貼っている部分があります。

電源ケーブルを取り付ける

ひとまず内装にφ1.0mmの穴を開けてケーブルを通し、集電板にはんだ付けしてみました。電源はこのケーブルから取ることにします。ケーブルがやたらと太く感じるなぁ。

逆電圧防止ダイオード

逆電圧防止のダイオードをケーブルにつけ、収縮チューブをかぶせてみました。

定電流ダイオード

定電流ダイオードは2個並列に。これで同じ電流をLEDに流せるはず。まあ、ここまでは何とでもなるのですが…

さて、ここで行き詰まってしまいました。このダイオードたちからカメラの先にあるブラケットに向かって配線する場所がないのです。台車のリンク機構やカメラのターンテーブル、カメラと本体間の冗長ケーブル等でもうどうしようもありません。

今考えられる選択肢は2つ。

  1. 床下にケーブル(真鍮線)を通して、ブラケット直下で車内に導く。
  2. コの字を90度反時計回りに回したときのように真鍮線を加工してショルダー位置まで持ち上げて通し、ブラケット付近でショルダー高さから床の位置まで下におろす。

つまり床下か天井際か、いずれかの術式を選択するしかありません。床下のほうがうまくいきそうな気はするのですが、自信はないです。大丈夫かなぁ。

Translate »