写真共有サイトの引っ越しと、それに伴うプラグインの導入

…を検討中です。

というのは最近展開しだした Google+ という新たなSNSによって、Googleが提供している写真共有サイト・Picasaの仕様が変更されたから。その中でも魅力的なのがGoogle+登録者は2048×2048pixel以下のサイズの画像ならPicasaへ無制限にアップロードできるというところです。(詳しくはPicasaウェブアルバムのヘルプをご覧ください)

現在Flickrの無料アカウントを利用しています。Flickrも1ヶ月間にアップロードできる総量が決まっているものの、アップロードした画像や動画の全総量は無制限で無料・有料で区別はありません。ですが、無料アカウントだとそのアカウントの写真としてまとめて表示してくれる上限が最新のアップロードから200枚分までなのです。残りの写真は消去されているわけではなく一覧にまとめて表示されないだけなのです。その写真ピンポイントだったり、アカウントに関係なくFlickr上で検索すると問題なく表示されます。

また画像のアップロードについて1枚の画像サイズには制限はありませんが、これを表示したりダウンロードしようとすると上限が1024×1024pixelまでになってしまいます。たとえばフルサイズが3000×2000pixelの写真をアップロードしても、表示・ダウンロードは1024×681pixelサイズが上限になってしまうのです。

これに対して年間使用量として24ドル払って有料アカウントにするとアップロードした写真すべてを一覧にまとめて表示されるようになり、また写真の表示やダウンロードのサイズの上限がアップロードしたオリジナルのサイズで可能となるのです。

年間24ドルなんて換算すると1ヶ月約200円程度。勤め人の立場ならさほど気にならない金額ですが、夫に稼いでいただいている身で趣味に使うと思うと気が重くて。すでにネットにレンタルサーバ+ドメイン管理費を捻出していただいていますし…。

そこで出てきたのが Google+ & Picasa というわけです。

Google+は個人アカウントはもちろん、企業や団体向けに Google+ページ というものがあり、Google+ページでも個人アカウント同様に写真を扱うことができます(ただし2011年12月現在ではPicasaウェブアルバムなど一部のサービスは個人アカウントのみのようです)。このGoogle+ページを利用すればプライバシーとか気にせず運営できるなぁ…と。

続きを読む 写真共有サイトの引っ越しと、それに伴うプラグインの導入

記事から自動的にショートコードを除去して抜粋を作成する

このブログでは記事ごとにmetaタグによるdescriptionを自動で付加するプラグインを入れています。機能を簡単に説明すると、あらかじめ設定されている抜粋があればそれを、無ければ記事の冒頭部分を切り取る形で抜粋として利用します。が、その機能を有効にしていないことが判明し、早速自動で機能するように設定を変更しました。

抜粋は設定していないので記事から自動で作成される形になるのですが、自動で作成された抜粋にショートコードが含まれてしまっているのです。記事の頭に添付している写真なんかがプラグインによるショートコードによって埋め込まれているので引っかかってくるんですよ…。

ショートコードとはWordPressの機能の一つで、記事の中に独自のタグを埋め込んで記事中に様々な機能を埋め込むというものです。プラグインなどであらかじめ設定しておくことで、長いHTMLタグなどを記事中に記述することなく意図したとおりに表示させることが可能になったりします。(詳しくはショートコード API – WordPress Codex 日本語版をご覧ください)

ショートコードをそのままにしておいても特に問題はないものの、検索結果一覧や共有したときに表示される抜粋にショートコードが表示されるのは格好悪いと思って対策をすることにしました。最初はプラグインを改変して…と思ったもののテーマに直接埋め込む形にしました。使っているテーマはvicuna CMS – WordPress Theme Ext. Customです。

最初はショートコード自体を削除してしまえ!と思って取り組んだのですが思うように除去することができず…。調べていくうちにHTMLタグを除去する関数が存在することを知り、ショートコードをHTMLタグに変換する方向で対応することにしました。

結果的には思い通りの動作を獲得することができました。要点はapply_filters関数の活用でした。

続きを読む 記事から自動的にショートコードを除去して抜粋を作成する

Google Maps for WordPress日本語版 Ver. 1.0.3-ja1.0.2でWarningが出る場合

先日、Google Maps for WardPress日本語版におけるコメント欄にてWarningが出るというご報告をいただきました。

早速調査したところ、1年ほど前に当ブログでGoogle Mapsにスタイルシートを適応できるよう追加したコードが中途半端に追加されてしまったようで、この改変で本来追加すべき関数がまるまる抜けていたがためにWarningが発生していました。

早速修正を施し、CSSを呼び出すのに必要なコードは追加しましたが、CSSにてGoogle Mapsのスタイルを指定しない人には不要だと思いましたので、wp-google-maps.php内にある次のコードをコメントアウトさせてVer. 1.0.3.-ja1.0.3として公開しました。

    add_action('wp_head', array($wpGoogleMaps, 'setLinkCSS'));

当プラグインでGoogle Mapsを公開する際にCSSにて書式を指定したいという方は上記のコードのコメントアウトを解除し、wp-google-maps.phpがあるフォルダにgoogleMap.cssという名前のファイルを作成してください。またgoogleMap.cssファイル内は次のように記述し、div.googleMapで指定されている中をお好みに記述してください。

@charset "utf-8";
 
div.googleMap {
…
}

なお今回の修正で追加した内容の詳細は『Google Map for WordPressをCSSファイルにリンクできるようにしました』という記事をご覧いただければと思います 😉

Google Maps for WordPress日本語版の不具合を修正しました

先日、canawell さんから Google Maps for WordPress のコメント欄に

私も、Your Google API Key appears to be valid!が表示されず、エディターに送るを押しても反応しませんせんでした。
(中略)
日本語版をダウロードし、プラグイン-アップロードでインストールすると、プラグインのフォルダ名が「google-maps-for-WordPress_i10n」となり、有効化になっても動作しません。

そこで、解凍してpluginフォルダに「google-maps-for-WordPress」を作り手動でアップロードしてから、有効化すると動作します。

という不具合の報告をいただき、早速修正を施しました。

早速コードを調べてみるとJavascriptを呼び出すのに使っているコードが不味い模様。オリジナルである英語版の場合「google-maps-for-wordpress」という名のフォルダにインストールするので問題はないのですが、プラグインをインストールするフォルダ名をそれ以外に変更した場合Javascriptが呼び出されずプラグインが動作しない…というようで。日本語版は「google-maps-for-wordpress_i10n」となっているので問題が出てきたようです。

で、その修正ですが、wp-google-maps.php の110行目あたりにある次のコードを修正。eraseの付いた行を消去し、代わりにaddを付けた行を追加します。

    public function __construct()
    {
        $this->googleKey = get_option('wpGoogleMaps_api_key');
        $this->mapApiUrl = "http://maps.google.com/maps?file=api&v=2&key={$this->googleKey}";

//erase        $jsDir = get_option('siteurl') . '/wp-content/plugins/google-maps-for-wordpress/js/';
        $jsDir = WP_PLUGIN_URL ."/". GGLMAPWP_DIR_PATH . '/js/';		// <-- add

        wp_register_script('googleMaps', $this->mapApiUrl, false, 2);
        wp_register_script('wpGoogleMaps', "{$jsDir}wp-google-maps.js", array('prototype', 'googleMaps'), '0.0.1');
        wp_register_script('wpGoogleMapsAdmin', "{$jsDir}wp-google-maps-admin.js", array('jquery'), '0.0.2');
    }

これでプラグインを納めたフォルダ名にかかわらずjavascriptが正常に動いてくれるかと思います。もしGoogle Maps for WordPress日本語版をインストールしてプラグインを有効化したものの、Google Map APIキーが有効化しないという方は上記の修正を施してみてください。ちなみにこの修正はGoogle Maps for WordPress日本語版のみに有効です。

なお、修正したプラグインはSourceForge.JPにてVer. 1.0.3-ja1.0.2として公開しています。

WordPressプラグイン・AdSense Deluxの管理メニューのアクセス権エラー

私のブログで導入しているWordPressプラグインの1つ、AdSense Deluxeの設定をいじろうと管理画面にアクセスしたところ、

このページにアクセスするための十分なアクセス権がありません。

という表示が一面に出てきて管理画面にアクセスできないという不具合を確認しました。どうやらWordPressのアップグレードに伴って不具合として表面化していたようです。

早速グーグル先生にご教授願ったところ次のページを発見。

WordPress:Adsenseのプラグイン「AdSense-Deluxe」導入時”このページにアクセスするための十分なアクセス権がありません。”エラーの修正方法 – 覚書 – My Knowledge Base – FC2ブログ版

このページの情報と、このページからリンクされている次のサイトの情報を元に修正を施しました。

Adsense Deluxe Solution – You Do Not Have Sufficient Permissions to Access this Page | Zalds

その修正内容はただ1箇所で、1125行目あたりにあるadd_action関数の第1引数として記述されているadmin_headadmin_menuに変更します。

続きを読む WordPressプラグイン・AdSense Deluxの管理メニューのアクセス権エラー