[Pz-LkC][1.7.3]リンクをカード形式で表示するプラグイン更新。ドメイン名が取得できない不具合を修正。

リンクをカード形式で表示するWordPressプラグイン「Pz-LinkCard」。

最新版ver1.7.3を公式プラグインディレクトリで公開しました。

ver1.7.2→ver1.7.3変更点など

2016年8月21日に公開したver1.7.2に対する不具合修正と、リンク切れ確認のためのデータベースの項目追加を行いました。

[link url=”https://popozure.info/20160821/10909″]

ドメイン名が取得できていない不具合を修正

ver1.7.1の修正によってドメイン名が上手く取得できなくなっていました。

これを修正しました。

アライブ確認のための準備

リンク切れを検出するためにデータベースに項目を追加しました。

設定画面に「リンク切れを確認する」の項目を追加しました。

Twitterのツイート数や、フェイスブックのシェア数、はてなブックマークのブックマーク数などのソーシャルカウントはWP-CRONという仕組みを使って、一定時間ごとに取得しています。

これと同様にWP-CRONを使って一定時間ごとにリンク切れが無いかチェックする仕組みを用意している途中です。

今回のバージョンでは設定項目はありますが、実際にリンク切れを検出したりお知らせする機能はありません。

その他

今回もほとんどが「不具合修正(デバッグ)」でした。(^-^;

リンク先が「403 Not Found」などになっている「リンク切れ」を検出する仕組みを実装する予定です。

今のところ試行錯誤中でソースにはリンク切れを検出しようとしている痕跡がありますが、まだ実装できていません。

では、この辺で。(^-^)o

[Pz-LkC][1.7.2]リンクをカード形式で表示するプラグイン更新。モバイル時の文字サイズ変更など。

リンクをカード形式で表示するWordPressプラグイン「Pz-LinkCard」。

最新版ver1.7.2を公式プラグインディレクトリで公開しました。

このプラグインについて

WordPressでリンクをブログカードっぽく表示したりするプラグインです。

[link url=”https://popozure.info/pz-linkcard”]

WordPress4.4でURLを直書きするとインラインフレーム(iframe)でカードっぽく表示される機能が実装されました。(リンク先もWordPress(4.4以上)である必要があったり、レイアウトの変更はスタイルシートをいじる必要があります。)

また、現在、当サイトでも使用している、わいひら(@MrYhira)氏作成のテーマ「Simplicityシリーズ」などでもブログカードの機能があります。

iframeタグを組み込むブックマークレットを使用する方法や、function.phpに組み込む方法など、リンク先をブログカードを表示する方法はいくつかあります。

そういったものを比べて自分の使い方とかに合った方を使うとよいと思います。

当プラグインの強みとしては、ショートコードはurlを指定するだけなので、今後同じような高機能なプラグインが見つかった場合、乗り換え易かったり、そのときの気分やテーマに合わせて一括に外観を変更できる点だと思います。

ver1.7.1→ver1.7.2変更点など

今回は2016年8月11日に公開したver1.7.1に対するマイナーバージョンアップで、不具合の修正が主な変更点となります。

[link url=”https://popozure.info/20160811/10773″]

WordPress 4.6での動作確認

最新のWordPress 4.6をインストールすることによる、Pz-LinkCardへの影響が無いことを確認しました。

幅に合わせてフォントも縮小

画面幅が狭いモバイル端末などで表示させたときにサムネイルが大きいままだったため、サムネイルとタイトルで表示スペースを大きくとっていたため、ver1.6.9で「幅に合わせて縮小」の機能を実装していました。

それでもタイトルの文字サイズが大きいと抜粋文が表示しきれないことがあったため、「幅に合わせて縮小」にチェックを入れると文字サイズも小さくなるように変更しました。

管理画面で記事内容を再取得したときのソーシャルカウント

「Pz カード管理」画面で「再取得」を押して、記事内容を再取得したときにソーシャルカウントがすべて「0」になってしまう不具合を修正しました。

内部リンクの画像が取得できない不具合を修正

ver1.7.1で記事内容の取得が失敗している記事のサムネイルを表示させないように変更していました。

この判断が誤っていたため、内部リンクはすべて記事内容の取得が失敗したかのようになっており、アイキャッチ画像(サムネイル)が表示されていませんでした。

これを修正しました。

マルチサイト対応の準備

設定値の取得と保管にget_option()関数、update_option()関数を使用していたのを、ver1.7.1にてget_site_option()関数、update_site_option()関数に変更しましたが、有効性が見いだせなかったため、元の状態に戻しました。

作者がWordPressマルチサイトに対する知識が不足しているため、もうしばらく先になりそうです。

「ネットワーク有効化」を行わず、サブサイトごとに「有効化」することで、とりあえず正常に使用できることを確認しています。

その他

今回もほとんどが「不具合修正(デバッグ)」でした。(^-^;

もうちょっと機能改善・機能追加を行いたいのですが、体力と知力が足りません。Σ(゚ロ゚)o゙

では、この辺で。(^-^)o

[Pz-LkC]Pz-LinkCardをWordPressマルチサイトで使ってみた

マルチサイトで動作検証してみた

リンクをカード形式で表示させるWordPressプラグイン「Pz-LinkCard Ver1.7.1.1」をWordPressマルチサイトで動作確認・動作検証してみました。

※この記事はPz-LinkCardを修正するにあたっての「覚え書き」という側面が強いので、読みやすいようには編集していませんが、同様のプラグイン作成者には参考になる可能性があります。

WordPressマルチサイトでの動作

WordPressには、WordPressを1つインストールしただけで複数の別のサイトを管理できる「マルチサイト」という機能があります。

直近のバージョンではだいぶ洗練されてきているようですが、通常のWordPressと違った注意点があったり、うまく動作しないプラグインがあったりすることから、自分も使ったことがありませんでした。

さて、当サイトでは「リンクをカード形式で表示するプラグイン Pz-LinkCard」を公開していますが、けっこうあちこちで使っていただき、中にはマルチサイトでも使用したいけどうまく動かないといった声がありました。

[link url=”http://www.forusoku.com/it/blog/wordpress/post-945″]

マルチサイト機能は知っていたものの、実際にその環境を作ったことが無かったので、「きっとマルチサイトでは不具合あるよなー」とは思っていましたが、一応動きはしているようなので、「思ったより対応してた!Σ(゚ロ゚)o゙」という感じです。

とりあえずどんな感じなのか分からないので、実際に環境を用意してみました。

マルチサイトを用意してみる

今のところ公開しているこのサイトと、開発・確認用のサイトが同じサーバーにあったので、色々テストをしていると公開している側も一緒に重くなってしまうことがあったので、「ロリポップ!レンタルサーバー」の月額250円の「ライトプラン」に契約してWordPressをインストール。

マルチサイト設定されたサイトを用意してみました。

超覚書き!Σ(゚ロ゚)o゙

  1. ロリポップ!レンタルサーバーでライトプランを契約する。
  2. 簡単インストールから「WordPress」をインストールする。
  3. FTPを開く。
  4. 「wp-config.php」のパーミッションが「400」になっているので「666」に変更。
  5. 「wp-config.php」にマルチサイト設定の行「define(‘WP_ALLOW_MULTISITE’, true);」を追加する。
  6. WordPress管理画面の「ツール」→「ネットワークの設置」を見ながら、「wp-config.php」と「.htaccess」を編集する。
  7. 「サイト」からテスト用サイトを追加していく。

こんな感じで用意しました。

[php title=”wp-config.php” start-line=”74″]define (‘WPLANG’, ‘ja’);
define(‘WP_DEBUG’, true);
define(‘WP_ALLOW_MULTISITE’, true);[/php]

言語設定の行の後ろにデバッグモードとマルチサイトの定義を追加。

公開するサイトはデバッグモードでは無い方が良いので、公開系の場合は「define(‘WP_DEBUG’, false);」にするか、この行を追加しない方が良いです。

自分はテスト用に用意した程度なので、詳しくは他サイトさんを検索されると良いと思います。

なお、下記サイトを参考にしました。

[link url=”http://webdesignerwork.jp/wordpress/multisite_blog/”]

[link url=”https://www.templateking.jp/practical/build/sub_dir.html”]

Pz-LinkCardのインストール

「サイトネットワーク管理者」のダッシュボード、「プラグイン」から「Pz-LinkCard」を検索して新規インストール。

「ネットワーク有効化」というのをすると、ぶらさがっているサイト全部でそのプラグインが有効化されるようです。

この「ネットワーク有効化」をしてみたところ、キャッシュ用のDBが用意されて、親サイト(メインサイト)では上手く動いたものの、子サイトを表示させたら「500エラー」(サーバーエラー)が発生してしまいました。

「ネットワーク停止」をしたあとに、「参加サイト」の各ダッシュボードで「有効化」を行ったところ、サイトごとにDBが作成されました。

プラグイン側では特に意識をしなくても有効化とかをしたサイトのDBが利用できるようです。

具体的には「$wpdb->prefix」をとったときに、たとえばDB接頭辞が「wp_」だった場合、メインサイトでは「wp_」、子サイトでは「wp_2_」「wp_3_」という値が戻ってきます。

「ネットワーク有効化」したときにはメインサイトと同じ「wp_」がとられてくるので、activate時にDBを生成している場合、1つしか用意されない結果になりました。

それぞれのサイトで有効化すると、それぞれのサイトでactivateが走るので、有効化時にDBが用意できるという感じです。

「ネットワーク有効化」した場合には自動的に「ネットワーク停止」して各サイトで「有効化」を促すメッセージが表示されると良いのですが、やり方がわかりませんでした。

マルチサイトが有効化になっているかどうかの判断

下記リンク先が詳しくて助かりました。

[link url=”http://nskw-style.com/2012/wordpress/ms/wpmu-global-variables.html”]

どうやら、WordPress関数の「is_multisite()」でマルチサイトが有効になっているかどうかの判断ができるようです。

[php]if ( is_multisite() ) {
echo ‘マルチサイトが有効です。’;
}[/php]

また、「is_main_site()」関数で、現在がメインサイトかどうかの判断ができるようです。

[php]if ( is_main_site() ) {
echo ‘現在、メインサイトで実行中です。’;
} else {
echo ‘現在、追加サイトで実行中です。’;
}[/php]

マルチサイトが有効で、メインサイトかどうかの判断は組み合わせることでできそうです。

「Pz-LinkCard」ではURLで自サイトの判断を行っているため、「サブディレクトリ型」を利用した場合にメインサイト以外の子サイトは「メインサイトの配下」になってしまい、記事IDが上手く取得できません。

メインサイトのときだけは記事IDが取得できなかったものは外部サイトと判断することで解決できそうな気がします。(2017/11/22 ver2.0.7 で対応しました)

[php]if ( is_multisite() ) {
if ( is_main_site() ) {
echo ‘マルチサイト有効かつメインサイトで実行中。’;
}
}[/php]

ただし、この方法だとカテゴリページやタグページ、トップページも記事IDが取得できないため、外部リンク扱いになってしまいます。(2017/8/1 ver2.0.1 で対応しました)

グローバル変数で実行中のサイトの判断

「$current_site」オブジェクトを参照すると「WP_Network Object」が返ってきます。

WordPressではサイトの集まりを「ネットワーク」と呼ぶようで、マルチサイト関連の機能が「ネットワーク設置」とか「ネットワーク設定」になっているようです。

つまり、「$current_site」は「現在のネットワーク」を取得できるようです。

マルチネットワークの機能は無いと思うので、将来拡張用かも知れません。

「current_site」じゃなくて「site_current」か「current_network」だったらもうちょっと分かり易かった気がします。

「$current_blog」オブジェクトを参照すると「WP_Site Object」が返ってきます。

同一「ネットワーク」配下のブログが「サイト」。つまりは「現在のサイト」が取得できるようです。

マルチサイトが有効化どうか、メインサイトかどうかは先ほどの関数で確認ができるので、グローバルを使う必要はあまり出てこないかも知れません。

むしろ、名前と実態がずれているので今後変更される可能性も…?

($WPMUクラスとかいうところで使ってるのかな?まあ、あんまり触りたいところでは無いですね…(^-^;)

get_optionとget_site_optionの違い

通常のシングルサイトであれば「get_option()」と「update_option()」、「delete_option()」でオプションの取得・更新・削除を行います。

「get_site_option()」と「update_site_option()」、「delete_site_option()」があるので、こちらがマルチサイト対応の関数かな?と思ったのですが、少々認識が誤っていました。

マルチサイトだとしても実行中のサイトの情報は「get_option」でそれぞれのサイトのオプションが取得できていました。

つまり、オプション取得に関してはマルチサイト対応は考慮しなくて良い感じです。

実際に格納されるDBはメインサイトならば「wp_options」(接頭辞が「wp_」の場合)、2つ目のサイト(1つ目の子サイト)ならば「wp_2_options」、3つ目のサイト(2つ目の子サイト)ならば「wp_3_options」といった感じです。

「get_site_option()」「update_site_option()」「delete_option()」の方は、「サイト」というか「ネットワーク」に対するオプションで、「wp_sitemeta」に格納されます。

どのサイトからアクセスしても同じ内容がかえってくるので、どのサイトでも設定を共有化したい場合は「get_site_option()」シリーズを使うと良いでしょう。

なお、シングルサイトで「get_site_option()」を使用すると「get_option()」の結果が戻ってくるようです。

この点、勘違いしていたため、マルチサイトで使用していた場合、Pz-LinkCard ver1.7.1からそれ以降に1.7.2に更新すると、いったん設定が初期化されます。ご了承ください…。

wp_upload_dir()も気にしないで良さそう

プラグインが格納されているディレクトリの中身は、プラグインを更新する度に一掃されます。

このため、スタイルシートを保存する場所として、プラグインのディレクトリは使用せず、アップロードディレクトリを使用しています。(画像などが保存されているディレクトリ配下)

これを取得するために「wp_upload_dir()」関数を使用しているのですが、メインサイトでは「/wp-content/uploads」が返され、2つ目のサイト(1つ目の子サイト)では「/wp-content/uploads/sites/2」が返され、3つ目の子サイト(2つ目の子サイト)では「/wp-content/uploads/site/3」が返されるので、プラグイン内では意識せずにディレクトリを分けてくれます。

テーマとプラグインをインストールする場所は共有されているので、「plugin_basename()」「plugin_dir_path()」「plugin_dir_url()」はどのサイトから見ても同じものが入っているようです。

テーマをサイトごとにカスタマイズしたいときは「子テーマ」をインストールして、それぞれのサイトにはそれぞれの子テーマを有効化すると良いでしょう。

プラグインをサイトごとにカスタマイズすることは少ないと思いますが、この場合には別ディレクトリに別プラグインとして名前を変更しておく必要があります。

まとめ

マルチサイトを意識して有効化(アクティベート)処理から停止(ディアクティベート)、削除(アンインストール)までを完全対応させるのはちょっと大変かなぁという気がしました。

とはいえ、基本的なWordPress関数を使っている限り、マルチサイトを意識しなくてもほとんどのプラグインはそのまま動作することが分かりました。

Pz-LinkCardも思ったより普通に動きそうということが分かりました。

ということで、「Pz-LinkCard」をマルチサイトで使用するにあたっての注意点です。

  • 有効化時にDBと初期設定を行うので各サイトから有効化する。
  • すでに「ネットワーク有効化」してしまった場合は、いったん「ネットワーク停止」してから、利用したい各サイトのプラグイン画面で「有効化」していく。
  • 設定はサイト毎に保存されるため、書式などもサイト毎になる。(ver1.7.1は不具合があるため、1.7.2以降で対応予定)
  • 記事内容をキャッシュしているDBも共有されずサイト毎になる。(キャッシュデータは共有するのがデータ節約になるとも思いましたが、「表示する抜粋文をサイトごとに分けたい場合」に対応できなくなるので、このままで良いと思います。)
  • URLの前方一致で内部リンクの判定を行っているため、サブディレクトリ式の場合は、子サイトは親サイトから見て内部サイトと判断されてしまう。
  • 子サイトから見ると「メインサイト(親サイト)」と他の「子サイト」は外部サイトになります。(URL前方一致のため)
  • サブドメイン方式ではURLがそもそも違うため、内部リンクと外部リンクの判断も正しく行えると思います。

一番大きいところはネットワーク管理者のダッシュボードのプラグイン画面から「ネットワーク有効化」しないところ。

メインサイトは上手く動いているようでも、子サイトはDBアクセスに失敗するためサイトそのものがうまく表示されなく場合があります。

「ネットワーク有効化」してしまっても、「ネットワーク停止」をしてから各サイトで有効化すれば大丈夫そうです。

DBの削除は「停止」時では無く、アンインストール時なので、メインサイトの分しか削除を考慮していません。

子サイトのキャッシュは「(接頭辞)_pz_linkcard」というテーブルが残ってしまいますので、気になる場合は手動で削除するしかありません。

プラグイン停止時にDBを削除してしまうと、不具合対応などで一時的にプラグインを停止したときに多量のキャッシュを失うこととなってしまうため、このタイミングは仕様です。

アンインストール時にマルチサイトの場合は消すようにすると良いのですが、不具合出すと返って大変なことになるので対応はまたいずれ…?

「マルチサイトで使用するとこんな不具合があった!」など、情報があれば、コメントやツイッターでお知らせいただけると嬉しいです。

また、過去バージョンでは上手く取得できていなかったものも最新バージョンでは取得できたりする可能性があるので、管理画面で再取得するか、キャッシュを削除してみてください。

では、この辺で。(^-^)o

↓続き

[link url=”https://popozure.info/20161230/10886″]

Windows 10 Anniversary Updateをあててみた(2)失敗したパソコンもアップデート完了!

Windows10アニバーサリー(一周年)とアップデート

Windows 10が発売されて一周年。

まさにアニバーサリーということで、2回目の大型アップデートが来ました。

[link url=”http://news.microsoft.com/ja-jp/2016/06/30/160630-windows-10-anniversary-update/”]

というわけで、前回、さっそく適用してみたわけです。

[link url=”https://popozure.info/20160809/10739″]

Windows 10と期限ゼロのあいつ

Windows 10/Windows 10 Proは2015年7月29日にリリース(発売)され、Windows 7と8.1の個人向けエディションは2016年7月29日までの一年間、無償アップグレードが受けられました。

Windows10にアップグレードして使う気だったWindows8タブレット「acer ICONIA W510D」を速攻アップグレードしました。

[link url=”https://popozure.info/20151205/10058″]

細かい不具合はあったものの、BIOSのアップデートとドライバのダウンロードで何とか安定(?)。

それよりもインターフェイスが改善されたのが大きかったです。

Windows10へ一回アップグレードしてしまえば、プロダクトID(キー?)にアップグレード権が付与されるらしく、元のOSに戻してもWindows10のプロダクトキーとして使用することが出来ます。

なお、一部のセキュリティソフトでは元のOSに戻してもWindows10と認識されてしまうことがあるようです。

具体的にはソースネクスト(SOURCENEXT)の「ウイルスセキュリティZERO」と「スーパーセキュリティZERO」のシリーズで「Windows7まで対応版」と「Windows8.1まで対応版」です。

このソフトは「OS拡張サービス」を適用すれば継続して使用できるようですが、OSのバージョンチェックをしているソフトの中には使用できなくなるものもあるかもしれません。

[link url=”http://www.sourcenext.com/support/qa/?faq=VS-07973&c=a157effa-b4d1-49d9-86bd-38bfca401f8a”]

一回目の大型アップデート

2015年11月13日から一回目の大型アップデートが行われました。

これによって、Windows10のバージョンは「Microsoft Windows バージョン 1511 (OSビルド10586.494)」になりました。

winver_windows10_pro_1511_build_10586.494

「コルタナさん(Cortana)」が使えるようになったり、Edgeのアップデートがあったりしたようですが、使用しているものはほとんどWindows7だったので、あんまり詳しくないです(^-^;

このあとから少しずつWindows7からのアップグレードを行い始めました。

[link url=”https://popozure.info/20151205/10058″]

二回目の大型アップデート

無償アップグレード期間が終わっての二回目の大型アップデート「アニバーサリーアップデート(Anniversary Update)」が来ました。

適用するとWindows 10のバージョンは「Microsoft Windows バージョン 1607 (OSビルド14393.51)」になりました。

winver_windows10_pro_1607_build_14393.51

「コルタナさん(Cortana)」のアップデートに力が入っているようです。

新機能とかゲーム対応とか色々あるようですけど、それなりのハードウェアも必要なので、ほとんどのユーザーが気になるのはユーザーインターフェースでしょうか。

メニューと通知領域が少し整理され、Windows10初期に比べると大分使い易くなった気がします。

やはり「フィードバック」機能でユーザーからの反応をそれなりに取り入れているということでしょうか。

でも、インターフェースは慣れが大きいので、あまりいじって欲しくないというのも少々ありますが…。

モバイルもアップデート

ウィンドウズフォンである「Diginnos DG-W10M」を持っているのですが、

[link url=”https://popozure.info/20160603/10698″]

こちらにも再起動が必要な「Windows 10 Mobile (10.0.10586.545)」というアップデートが来ていました。

これを適用したことにより、「Windows 10 Mobile バージョン 1607(OSビルド10.0.14393.67)」になりました。

dg-w10m-1607

バージョンとOSビルド番号が同じなので、連携とかに期待が持てます。

家のパソコンでやっていたことを外のモバイルで持ち出して、帰って来たら家のパソコンで続きが出来るとか、良いですね。

具体的には外ではソースリストを眺めながらアイディアを手書きしたりしていって、家に帰ったらだだーっと直していくようなのが理想ですね。

アップデートが87%で止まる謎…解決!?Σ(゚ロ゚)o゙

メインPCを「アニバーサリーアップデート」していたら、「87%のところで固まってしまう」現象が出ました。

他のパソコンでも上手くアップデートできるものと、87%で止まってしまうものがありました。

メイン以外のものはアニバーサリーアップデートまでが適用された新規インストールメディアを使用してインストールすることで上手くいきました。

メインPCは流石に新規インストールしてしまうと色々と面倒なため、しばらくこのままで行こうと思っていたのですが、試しに「カスペルスキー インターネットセキュリティ 2016」をアンインストールしてからアップデートしたところ、すんなりアップデートが完了しました!Σ(゚ロ゚)o゙

「カスペルスキー インターネット セキュリティ 2016」をアンインストールするときも、契約情報とかは残していたので、アップデート後に最新版を再インストールしてあっさりと乗り切れました。

[link url=”http://home.kaspersky.co.jp/store/kasperjp/ja_JP/html/pbPage.support_versionup/ThemeID.37143000/lnID.2″]

アニバーサリーインストールで、87%とかでずーーーーーっと固まって進まない人とかは、いったんセキュリティソフトをアンインストールしてからアニバーサリーアップデートを適用してみると良さそうです。

セキュリティソフトの契約は切れないので、再インストールしてアクティベートすれば大丈夫です。(カスペルスキーは情報を残してアンインストールすれば再インストール時のアクティベーションは不要です。)

では、この辺で。(^-^)o

[Pz-LkC][1.7.1]リンクをカード形式で表示するプラグイン更新。不具合修正など。

リンクをカード形式で表示するWordPressプラグイン「Pz-LinkCard」。

最新版ver1.7.1を公式プラグインディレクトリで公開しました。

このプラグインについて

WordPressでリンクをブログカードっぽく表示したりするプラグインです。

[link url=”https://popozure.info/pz-linkcard”]

WordPress4.4でURLを直書きするとインラインフレーム(iframe)でカードっぽく表示される機能が実装されました。(リンク先もWordPress(4.4以上)である必要があったり、レイアウトの変更はスタイルシートをいじる必要があります。)

また、現在、当サイトでも使用している、わいひら(@MrYhira)氏作成のテーマ「Simplicityシリーズ」などでもブログカードの機能があります。

iframeタグを組み込むブックマークレットを使用する方法や、function.phpに組み込む方法など、リンク先をブログカードを表示する方法はいくつかあります。

そういったものを比べて自分の使い方とかに合った方を使うとよいと思います。

当プラグインの強みとしては、ショートコードはurlを指定するだけなので、今後同じような高機能なプラグインが見つかった場合、乗り換え易かったり、そのときの気分やテーマに合わせて一括に外観を変更できる点だと思います。

ver1.7.0→ver1.7.1変更点など

今回は2016年7月12日に公開したver1.7.0に対するマイナーバージョンアップで、不具合の修正が主な変更点となります。

[link url=”https://popozure.info/20160730/10634″]

記事内容が取得できない不具合を修正

当プラグインは、外部のリンク先のタイトルや記事を抜粋して、それをDBに保存(キャッシュ)することで、見栄えの良いカード形式のリンクと、抜粋分の取得のために相手サイトへの負担をかけないのが特徴です。

詳しい原因を解明するよりも解消を優先してしまったため、原因究明は出来ていませんが、一部環境にてリンク先の情報がキャッシュされない不具合がありました。

修正のために取得と保存の部分をだいぶいじってしまったので、不具合があった場合にはお知らせいただければ早めに対応いたします。

(報告をいただいた方からは、正常に取得できるようになったと報告をいただきました。ありがとうございます。)

取得エラー時のサムネイル取得抑制

外部サイトのとき、記事内容を取得したときに「200 OK」以外の場合にWebAPIを使用してサムネイルを取得しにいかないように修正しました。

ほとんどの場合、「403 Not Found」とかが表示されるため。リンク先が生きていてもブラウザ以外から取得するとエラーコードを返すサイトもあるため、このような仕様としました。

内部リンクの結果コードをHTTPステータスに準拠

内部リンクの場合には、正常取得は「0」、記事以外の場合は「-1」が入ったりしていましたが、HTTPステータスコードに準じて「200」、「403」が入るようになりました。

これは、サムネイル取得抑制のほか、今後実装予定のアライブチェック(存在確認)のためです。

アライブチェック実装に向けての準備

リンク先サイトが、取得時は「200 OK」だったのに、一定期間後に「403 Not Found」になってしまった場合などに、お知らせする機能「アライブ チェック (alive check)」を実装予定です。

当プラグインは「リンク先が消滅しても記事内容(タイトルと抜粋文)が当時のまま残る」というのも特徴としているので、「サイト管理者へのお知らせ」と、「Aタグ除去(URLは表示させるけど、リンクは有効にしない)」機能として実装予定です。

実はこの機能の実装は難航しておりまして、WP-CRONでcURLが上手く動いていません。(^-^;

WP-CRONで実行されているもののデバグに詳しい方、記事などがありましたら教えていただけると助かります。(^-^;

 

あ、コードを寄贈していただくのもアリですΣ(゚ロ゚)o゙←

今回は、以上です。

やったことは「不具合修正(デバッグ)」だけなのですが、結構プログラムの中身をいじってしまったので、ある程度余裕が出来たら綺麗にしたいと思っています。

あぁ、知力と体力と技術が欲しいです…。(←いつも言ってる。)

では、この辺で。(^-^)o

Windows 10 Anniversary Updateをあててみた(1)成功と失敗

Windows10アニバーサリー(一周年)とアップデート

Windows10が発売されて一年が経ちました。

2015年11月の大型アップデートに続いての、2回目の大型アップデート「Anniversary Update」が8月2日から配布となりました。

[link url=”http://news.microsoft.com/ja-jp/2016/06/30/160630-windows-10-anniversary-update/”]

詳しいアップデート内容とかはあちこちに出ていますので、興味のある方はそちらをどうぞ。

[link url=”http://itpro.nikkeibp.co.jp/atcl/column/16/080400165/080400005/”]

ものはためしということで、人柱になるためにアップデートしていきます。

(ウィンドウズアップデートで順次配信されるので、「うちだけまだ来てない!?」と焦る必要はありません。)

更新の確認

左下のスタートメニューのところの「WebとWindowsの検索」(コルタナを有効にしている場合、「何でも聞いてください」が表示されています。)に「update」とか「更新」とか入力すると、「⚙更新プログラムのチェック/システム設定」が表示されるので、それを選びます。

update-check

「利用可能な更新プログラムはありません。」と表示された場合は、まだ更新が来ていません。

前倒ししてアップデートした場合には、下にある「詳細情報」をクリックします。

「Windows 10 の更新履歴」という画面がブラウザで表示されると、「 Anniversary Update を入手する 」というボタンがあります。

アップデートプログラムをダウンロードできるので、ダウンロードして実行することでアップデートが行えます。

順調に完了したアップデート

「lenovo ThinkPad X121e」はWindows7だったものから無償アップグレードでWindows10にしていたものですが、今回のアニバーサリーアップデートはすんなり終わりました。

アップデートに必要な空き容量は20GB程度のようです。

このパソコンはHDDからSSDに換装していたため、空き容量を開けるのに苦労しました。(元々のHDDも容量は小さいのですが。)

自作PCの「GIGABYTE GA-E2100N」をメインにした子ども用のPCもすんなりアップデート完了。

とくに問題も無さそうです。

この前購入した「I-O DATA Compute Stick (CSTK-32W/T)」もWindows10にアップグレード済みなので、これもアップデート開始。

[link url=”https://popozure.info/20160727/10605″]

32GBタイプなのでそもそも空き容量が無い「CSTK」。

けっきょく何をやっても容量が確保できず、いったん設定画面から「このPCを初期状態に戻す」→「個人用ファイルを保持する」で初期化して、空き容量が出来た状態からアップデートしました。

何台かやってみたところ、18.3GB程度の空き容量でもアップデートできる場合と、20GB近く空けても容量が足りないといわれる場合があるようです。

容量が確保できない場合には初期状態へ戻すのもアリだと思いますが、プリインストールソフトが無くなってしまうリスクもあるので注意が必要です。

アップデート→少しスッキリとしたWindows10

スタートメニューの配置とかが微妙に変更されました。

desktop-win10

スタートボタンの上に「ユーザー アイコン」、「エクスプローラー(ファイル)」、「設定」、「電源」と並んでいます。

特に「ユーザー」の位置が今までスタートメニューの一番上だったので、見栄えは良いけど使いづらい感じだったので、嬉しい変更です。

でも、「Windows10が最初からこの配置だった」なら良かったのですけど、慣れてきたころに動かすのは「ちょっとナシ」なんじゃないかと思いますっ!Σ(゚ロ゚)o゙

アプリ一覧も「よく使うアプリ」に続いてアルファベット順の「すべてのアプリ」も表示されています。

「最初からこうだったら良かったWindows10スタートメニュー」が今回実装されたように感じられました。

むしろ、電源・設定・ユーザーの位置もタイルみたいに自分で好きなところに配置できると良いのですが、あんまし自由すぎると電話で「左下の⚙ギアの設定を押してください」→「左下にそんなの無いよ!?」とかワケわかんないことになってしまうのですけども。

っていうか、すでに「同じWindows10」なのに、配置がちょいちょい変わっているので、助言するときとかに困るのです…(^-^;

通知領域(右下のアイコントレイ)も少し変更されて「お知らせ」のアイコンが独立して時計の右側に移動しました。

件数もスマートフォンっぽく「バッジ」表示されています。

information

「お知らせ」を重視しているってことなんでしょうか。

(モバイルとの統一性を重視しているのかな?)

なぜか進まないアップデートも…

夕飯食べている内に終わるかなと思って、一番トラブルが無さそうなメインPC(自作)を開始したところ、ご飯を食べても終わってませんでした。

というか、再起動した後、「87%」で固まってます。

[link url=”https://twitter.com/popo68k/status/761939230591295489″]

丸いのがくるくる回ってはいるのですが、全然進みません…。

ちょっと遅れて開始した「acer W510D」もとうとう「87%」に追いついてきて、しかもそこから全然進みません…!Σ(゚ロ゚)o゙

 

87%のところで、いったい何を更新しているのかっ!Σ(゚ロ゚)o゙

 

どっちも同じパーセントのところなので、「何か」が引っかかってるんだと思います。

とりあえず、放置して寝ることに…。

やっぱり終わってないアップデート…

メインPCのアニバーサリーアップデートは、翌日になっても終わっていませんでした。

というか、1%も進んでいませんでした。

かれこれ「12時間以上」、「87%のまま」です。

「容量確保に苦戦した」あとは「87%のどうしても越えられない壁」が待っていました。

[link url=”https://twitter.com/popo68k/status/762082129270353921″]

意を決して電源オフ/オン。

システムの復元が走ったあとWindowsが起動して、アップデート前に戻ってました。

この12時間なんて無かった…。

アップデート後ちょっと微妙なのも…?

アイ・オー・データ機器販売の「Intel Compute Stick (CSTK-32W/T)」ですが、うまくアップデートできたようですが、よくよく使ってみると何か微妙に変です。

とあるユーザーは検索バー(コルタナさん)が出なかったり、スタートメニューが出なかったり。

ローカルユーザーが大丈夫でMicrosoftアカウントユーザーがダメだったのか、よく分かりませんが、このままでは困るので、念のため外付DVDを繋げて「システムバックアップ」と「インストールメディア」を作成してから、Windows10を新規インストールしなおしました。

winverコマンドで確認したところちゃんと「Microsoft Windows バージョン 1607 (OSビルド 147393.10)」になっていることを確認。

ローカルユーザーでもMicrosoftアカウントユーザーでもスタートメニューも検索もちゃんと使えるので大丈夫になった気がします。

そして越えられない…87%の壁…!

Windows8タブレット「acer W510D」はWindows10は「サポート外」ながらもWindows10へ無償アップグレード済みです。

そこから今回のアニバーサリーアップデートをしたものの、何回やっても87%で固まってしまいます。

[link url=”https://twitter.com/popo68k/status/762177876087091200″]

仕方がないので、インストールメディアを作成して、新規インストールしました。

ちなみにインストールメディアを作成するのは、Microsoftのサイトから行います。

[link url=”https://www.microsoft.com/ja-jp/software-download/windows10″]

インストールしたいパソコンで「Windows10のダウンロード」のページに行ったら、「ツールを今すぐダウンロード」を押します。

ダウンロードしたツールを実行すると、実行したパソコンに適したビット数やエディションが選ばれているので、8GB以上の容量のUSBメモリ等を使用してインストールメディアを作成します。

あとはそのUSBメモリから起動して、インストールしていくだけ。

最初、「更新」でやったところ、またもや87%で固まってしまったので、「新規インストール」に切り替えたところ、ちゃんと最新ビルドでインストール完了しました。

ところが、キーボードドックのキーボードやパッドが効かない状態になってしまいました。

とりあえずUSBキーボード・マウスを接続して、Acerのサイトからダウンロードしていた最新ドライバー「Driver_Acer_3.02_W8x86」のSetup.exeを実行。

エラーは表示されたものの、再起動したところキーボードドックのキーボードやパッドも使用できるようになりました。

※メーカーが推奨や保証しているやり方ではありません。
※当サイトでもアップグレードして安定して使用できる保証は出来ませんのでご承知おきください。
※コメント等に何か書いていただければ、「一緒に悩む」くらいは出来るかも知れません。

サクサクっとアップデートできる場合もある

最近、ツイッターでパソコンとか関連で師匠と呼んでくださっているフォロワーさんがアップデートしてみたところサクサクっと終了。

[link url=”https://twitter.com/fumieblog/status/762190565777678336″]

ぐ、ぐぬぬ…!Σ(゚ロ゚)o゙

87%で止まる人なんていなかった…!?Σ(゚ロ゚)o゙←ココニイル

そして、まだ、たたかいはつづく…。

自分の家のPCと、実家のPCを合わせて、Windows7をWindows10にするのを頑張っていたのが終わったと思っていたのですが…。

[link url=”https://popozure.info/20151205/10058″]

今度はアニバーサリーアップデートとの戦いが待っていたようです。

用途 型番など 出荷時OS 懸案・懸念 実施
メイン Z9 PLUS
Z68 Pro3+Core i5
Win7Pro
64bit
87%の壁 87%の壁
→【済】
サブ SST-SG06B
AT3IONT-I
Win7HP
32bit
画面が暗いまま進まず
新規インストール
【済】
キッチン LIVA MINI
Windows8.1 with Bing
Win8.1bing
32bit
(未調査) 未
ノート X121e Win7HP
64bit
特になし 【済】
タブレット W510D Win8.0
32bit
新規インストール
&ドライバー用意
【済】
長男用 ISK-110 VESA
E2100N
Win7HP
32bit
特になし 【済】
次男用 VAIO R RA51 WinXP
32bit
(未調査) Win7まで
父 NEC VALUESTAR W
(PC-VW770/ES6W)
Win7HP
64bit
(未調査) 未
母 SONY VAIO
(VPCJ216FJ/L)
Win7HP
64bit
(未調査) 未
母 DELL Inspiron1501 WinXP
32bit
(未調査) 未

続いて「LIVA MINI」と「AT3IONT-I」にチャレンジ予定です。

(2016/08/10追記)AT3IONT-Iは何%とか出ないところでくるくるだけ出て固まってしまいました。結局強制オフ/オンから、新規インストールしました。

メインPCは…新規インストールは厳しいな…どうしよう…。(^-^;

では、この辺で。(^-^)o

[Pz-RCs][1.0.0]最近のコメントを表示するウィジェット。公開しました。

ツイッターの相互フォローさんから「『最近のコメント』を表示するかわいいウィジェットがありませんか?」と相談を受けたので、つくってみました。Σ(゚ロ゚)o゙

最近のコメントウィジェット

WordPress標準の「最近のコメント」ウィジェットは味気ないというか、記事タイトルが並ぶだけです。

「WP-RecentComments」というプラグインがアバター表示もされて見栄えが良さそうだったのですが、スマートフォンだとみられるのに、パソコンで見ると何故かずっと「loading…」と表示されたままコメントが表示されない現象が…。

ajaxとかで非同期で取得することで表示を速くしているようなのですが、表示されないのであれば意味がないです。(^-^;

JavaScriptとかajaxは苦手なので手直ししたりするよりも、いっそ「最近のコメント」を表示するウィジェット プラグインをつくってみることにしました。

初めてのウィジェット作成

クラス継承とコンストラクト

基本的にはクラスを作って、add_action()でウィジェットに加えるだけでウィジェットになってしまうみたいです。

[php title=”pz-recentcomments” start-line=”12″]class PzRecentCommentsWidget extends WP_Widget {[/php]

[php title=”pz-recentcomments” start-line=”115″]}
add_action(‘widgets_init’, create_function(”, ‘return register_widget(“PzRecentCommentsWidget”);’));[/php]

__constructでウィジェットのタイトルと概要を設定します。

[php title=”pz-recentcomments” start-line=”13″]function __construct() {
parent::__construct( ‘recent-comments’, __( ‘Pz Recent Comments’ ), array(‘description’ => __(‘Recent comments widget.’) ) );
}[/php]

「parent::__construct()」は…多分…ウィジェットつくるときのおまじない?

「extends WP_Widget」で、ウィジェットの機能(メソッド)とかを受け継いで、それのうんたらをかんたらするんだと思います。Σ(゚ロ゚)o゙(←分かってない)

ウィジェットの機能そのものを作成

function widget()で、ウィジェットの機能そのものを作成します。

[php title=”pz-recentcomments” start-line=”24″]function widget( $args, $instance ) {[/php]

設定フォーム

function form()で、外観設定のときに設定するパラメータなどを表示させます。

[php title=”pz-recentcomments” start-line=”101″]function form( $args, $instance ) {[/php]

パラメータ更新されたとき

function update()で、外観設定で設定が更新されたときの処理を書きます。

[php title=”pz-recentcomments” start-line=”86″]function update( $args, $instance ) {[/php]

コメントとアバターの取得

とりあえず、なんとなくウィジェットとして枠が出るようになったのでコメントを取得してみます。

キャッシュしたりとかしてると複雑になるので、get_commentsで最近のコメントを取得します。

[php title=”pz-recentcomments” start-line=”44″]$comments = get_comments( apply_filters( ‘widget_comments_args’,
array(
‘number’ => $number,
‘status’ => ‘approve’,
‘type’ => ‘comment’,
‘post_status’ => ‘publish’
) ) );[/php]

$numberは、ウィジェットで設定した表示件数。

‘publish’やら’comment’やらの条件で、公開されている記事のコメントのみを抽出します。

アバター取得はget_avatarを使用すると、勝手にGravatar(グラバター)からアバターを取得してくれます。

[php title=”pz-recentcomments” start-line=”66″]$output .= ‘<span class=”comment-avatar”>’.get_avatar( $comment, 40, null ).'</span>’;[/php]

あとはPz-LinkCardのときのように<span>でどんどん囲んでいって、classを振って行って、スタイルシートで体裁を整えます。

screenshot-3

スタイルシートの読み込み

あとは表示するときにCSSを読み込むようにします。

HTMLに書き込んじゃおうかとも思ったのですが、一応お行儀良くwp_enqueue_styleを使用します。

[php title=”pz-recentcomments” start-line=”16″]add_action(‘wp_enqueue_scripts’, array($this, ‘enqueue’));[/php]

[php title=”pz-recentcomments” start-line=”19″]function enqueue()
wp_enqueue_style (‘pz-recentcomments’, plugin_dir_url (__FILE__).’style.css’);
}[/php]

 とりあえず完成!

コメントを取得してすっきり表示するのが目的だったので、まずは動くことを目指しました。

複雑な機能はウィジェットに対する知識が無いので今のところは予定していません。

でも、けっこう良い見た目にまとまったと思うのですが、どうでしょうか。

 

公開申請

公開申請は覚えて無いので、自分の記事を参考にしました。

こういうときのために書いておいた記事なので良かったです。

[link url=”https://popozure.info/20151006/9345″]

簡単なプラグインなこともあって、一発OK。

一日で返事が来ました。

さっそくチェックアウトしてコミットです!(^-^)o

検索でちゃんと出てきました。

screenshot-4

「Popozure」の略で「Pz-」なわけですが、そもそも「Pz-」の接頭辞を誰も使用していないことを確認してから使ったので、検索するときには「pz」って入れれば出てくるのが良いですね。(^-^)o

WordPressで「最近のコメント」を良い感じで表示するウィジェットプラグイン無いかなー?なんて探している方、一度試してみてはいかがでしょうか。

では、この辺で。(^-^)o

キーボード「FILCO Majestouch BLACK」買ってみた

5~6年ぶりにキーボードを買い換えました。

CHERRY MXスイッチキーボード

今回購入したのはDIATEC(ダイヤテック株式会社)のFILCOブランドの「Majestouch BLACK FKBN108M/NFB2」です。

fkbn108m-nfb2

108かな表記なしキー配列、複数キーロールオーバー対応、USBコネクタ、USB→PS/2変換コネクタ付属、キーの刻印はキートップでは無く前面に印刷されている珍しいタイプです。

fkbn108m-nfb2-spec

このシリーズにはCHERRY MXスイッチの「茶軸」というキーを採用してます。

キータッチが重い「黒軸」、黒軸ほどでは無いけどやや重い「茶軸」、キータッチは軽くてカチャカチャと音が出て軽快な「青軸」、青軸よりキータッチが軽くて音が少ない「赤軸」など。

この辺はタイプする人の「好み」で選ぶべきなので、どれが一番ということではありませんが、ぼくは断然「茶軸」推しです!Σ(゚ロ゚)o゙(でも、黒も好き。青も赤も悪くない。)

[link url=”https://www.diatec.co.jp/products/CHERRY/”]

MXキーは「メカニカル(スイッチ)」方式のキーですが、よく出回っている「メンブレン」方式のキーの方が好きな方もいます。

(「メンブレン」とひとくくりに言っても打鍵感はキーボードによってかなり変わります。)

開封の儀

今回ビックカメラで9,780円(税込10,562円)で購入しました。

[link url=”http://www.biccamera.com/bc/disp/CSfGoodsPage_001.jsp?GOODS_NO=1690493″]

丁寧にプチプチに包まれて届きました。

packpage

すでにワクワクします。

fkbn108m-nfb2-box

\ジャジャーン!/
fkbn108m-nfb2-open

内容物です。

  • キーボード
  • USB→PS2変換コネクタ
  • キー リムーバー
  • Windowsキー

fkbn108m-nfb2-contents

ひとつだけ、Windowsキーが上面に刻印がありますが、キーを外すリムーバーと、前面に刻印があるWindowsキーが付属しています。

fkbn108m-nfb2-remover

さっそく入れ替えました。

パッと見、キーの文字が刻印されていないようにも見えます。

fkbn108m-nfb2

実は使っている視点だとキーの刻印が見えるので、「キーを見ながら打つ人」でも、返って指が邪魔にならなくて見やすいのかも知れません。(お店でぜひ触ってみてください!)

さっそく入れ替えてみた!カチャチャ!

今まで使用していた星野金属工業の「WiNDy VANGUARD V101」。

当時の実売価格で7,800円~8,800円くらいでした。

5年以上使っていただけあって、色落ちとか年季が入った感じです。

IMG_20160802_123847

メンブレンキーボードではあるもののメンブレンにありがちな「ふにゃふにゃ」な押し心地では無くて、しっかりとした打鍵感があります。

WiNDyブランドとしてアルミ製ケースなどを制作していた会社の品で耐久品もバッチリ。

2010年1月にはすでに使っていたので、かれこれ5~6年くらいはメインとして使っていたわけです。

そんなキーボードとしばしのお別れをして入れ替え。

fkbn108m-nfb2-keyfront

カチャカチャ…。

!?Σ(゚ロ゚)o゙

カチャカチャカチャカチャ…!

!?Σ(゚ロ゚)o゙

 

ぶはっ!Σ(゚ロ゚)o゙

茶軸っっっ!!!Σ(゚ロ゚)o゙

圧倒的、茶軸っ!Σ(゚ロ゚)o゙

※一部、日本語が乱れております。申し訳ありません。

 

軽快な押し心地と、押し切った後の何とも言えない押し切り感というか、何て言っていいんだろう…!

語彙よ…来い…!Σ(゚ロ゚)o゙

 

とにかく茶軸です!Σ(゚ロ゚)o゙
※完全に表現力が欠けております。申し訳ありません。

 

ぽぽろん「ごめん、VANGUARD、オレ、ほかに好きな子(キーボード)ができちまった…。(T-T)o」
※投稿者が混乱中です。申し訳ありません。

 

VANGUARD V101ももちろん素晴らしくて、しっかり動いてくれているので勿体ないと思って買い替えをしていなかったのですが、やっぱりもっと早く買っておけば良かった…(^-^;

ぼくのさいきょうのくみあわせ

キーボードがFILCOの「FKBN108M-FNB2」!Σ(゚ロ゚)o゙

マウスがLogicoolの「G700」!Σ(゚ロ゚)o゙

これはもう最強の組み合わせだと思います。

fkbn108m-nfb2-g700

FKBN108M-FNB2の良いところ

  • 安心のFILCO。
  • CHERRY MX 茶軸キー採用。
  • 気持ち良い押しごこち。
  • キートップの刻印が無くて『通』っぽい!
  • 日本語配列なのにスペースキーが広い!
  • なんといっても茶軸!!!Σ(゚ロ゚)o゙

悪いところは特に無いですが、乗り換えて感じたことは、

  • スペースキーが広い分、今までと左手の「Windows」キーと「ALT」キーの位置がズレていて押し間違える。(慣れの問題)
  • スペースキーが広い分、今まで「ひらがな」キーだったところに「変換」キーがあって押し間違える。(慣れの問題)
  • 右手の「Windows」キーが無い。(普段使ってないからいいやと思っていたら、右[Windows]+[L]でログオフとか、右[Windows]+方向キーを結構多用していたことに気付いた。)
  • キーを押しっぱなしにしたときの、1回目から2回目の入力間隔と、2回目以降の入力感覚が違う。(これってどのキーボードでもUEFIの設定次第なのだと思ってました。)

ついでにG700の良いところ

  • 安心のLogicool。
  • 安定の大き目。
  • 有線マウスとしても無線マウスとしても使用できる。
  • チルトホイール。
  • クリックトゥクリック、無段階ホイールの切り替えが出来る。
  • 左ボタンの位置に更に3つボタンが付いている。
  • サイドにボタンが4つ付いている。
  • 13個のボタンには専用のアプリを使用すると好きなキーやマクロが割り当てられる。
  • プロフィールを3つまでマウス内メモリに保存できるので覚えさせたプロフィールは専用アプリが無いPCでも有効。
  • 割り当てできるボタンが多いため、通常のWindows使用やゲーム、グラフィックアプリなど、自分の好きな使い方ができる。

悪いところというほどでも無いけど、

  • 充電は単三のeneloop充電池。ワイヤレス使用のままだと数日しか持たない。(使いおわりにUSBケーブルで充電しておけば問題なし)
  • 小さいマウスが好きな人にとっては大きすぎ。大きいマウスが好きな人にとってはもうちょっと大きさが欲しい。

メインPCの環境が凄いことになってきた

FILCO茶軸キーボード、G700ゲーミングマウス、iiyamaの23インチディスプレイ×2。

かなり理想の環境になってきた気がします。

本体スペックもSSDまわり以外はほとんど変わっていないけど、ゲームとかもあんまりしないので十分すぎます。

あぁ、茶軸、気持ちいいです。

では、この辺で。(^-^)o