【YAPB】管理画面からの継続的なサムネイル除去

WordPress のサムネイル自動生成プラグイン、 Yet Another Photoblog 。
これの管理画面のサムネが不要だから消そうというのが 昔書いた記事 でしたが、
前回のはプラグインのソースを直接書きかえるという手法をとっており、
アップデートの度に作業しなければならないものだったため、また作りなおしてみました。

remove_filter,remove_action 機能と、 function.php を使ってサムネを除去することにします。
バージョンは現時点で最新の Yet Another Photoblog 1.9.24 です。

テンプレートファイルのコピーと書き換え

・ yet-another-photoblog/tpl/edit_form_advanced_field_fileupload.tpl.php をコピー。
・名前を hack_yapb.tpl.php に変更。
・ hack_yapb.tpl.php の 14行目辺りにある以下の img タグを除去

<img src="<?php echo $this->image->getThumbnailHref(array('h=80','fltr[]=usm|30|3|3')) ?>" height="80" alt="" style="float:left;margin-right:10px;height:80px;">

hack_yapb.tpl.php は WordPress で使用しているテーマのファイル内へ置いてみます。
/wordpress/wp-content/themes/???/ の中へ。

functions.php の調整

WordPress のテーマファイルの中にある functions.php に下記の記述を追加
無い場合はテキストエディタなどで新規作成すれば、自動的に読んでくれるようになります。


remove_filter('manage_posts_columns', array($yapb, '_filter_manage_posts_columns'));
remove_action('manage_posts_custom_column', array($yapb, '_filter_manage_posts_custom_column'));
remove_filter('manage_pages_columns', array($yapb, '_filter_manage_pages_columns'));
remove_action('manage_pages_custom_column', array($yapb, '_filter_manage_pages_custom_column'));

remove_filter('edit_form_advanced', array($yapb, '_filter_edit_form_advanced'));
add_filter('edit_form_advanced', 'my_yapb_hack_filter_edit_form_advanced');

function my_yapb_hack_filter_edit_form_advanced(){
	global $post,$yapb;

	$hacked_file_name = 'hack_yapb.tpl.php';   // コピーして書き換えたテンプレートの名前

	$theme_path = get_theme_root() . "/" . get_template(); // 書き換えテンプレの置いてある場所
	if (isset($post->ID)) {
		if (!is_null($image = YapbImage::getInstanceFromDb($post->ID))) {
			$yapb->tpl->assign('image', $image);
		}
	}
	$yapb->tpl->addPath('template', $theme_path);
	$yapb->tpl->assign('content', $yapb->tpl->fetch($hacked_file_name));
	$yapb->tpl->addPath('template', YAPB_TPL_PATH);
	$yapb->tpl->display('edit_form_advanced_javascript_injection.tpl.php');
}

以上で拙宅の環境では管理画面のサムネイルが生成されなくなるのを確認しました。
この作業で、 YAPB の方で新たな名前変更などがない限り、継続してサムネを除去できると思います。

昔のバージョンでは manage_posts_columns という名前だった関数が、
今回では _filter_manage_posts_columns という名前になっていたように、
意外と変更は、あるのかもしれませんが……

YapbDiagnostics.php について

今回、初めて気が付いたのですが、
Yet Another Photoblog にはデバッグモード表示機能が付いているようです。

wp-content/plugins/yet-another-photoblog/YapbDiagnostics.php に直接アクセスすると、プラグインに関係する設定や、サーバの情報を一覧で表示してくれます。

このページはログイン機能によるアクセス制限はかかっておらず、また Google などのロボット避けもされていない、誰でも見れる状態です。

例えば yapb diagnostics でグーグル検索すると、わぁ YAPB は世界中でこんなに使われてるんだなぁという事がわかる ので楽しいのですが、はて、こういう情報ってオープンにしておいて大丈夫なんかなぁ…

なんかイヤということで拙宅の YapbDiagnostics.php はアクセス制限をかけてしまいました。
セキュリティ上やるべきなのかどうかは知らないのですが、必要が出ればまた開ければ良いやと…(^^;

Comments:1

  1. [...] ずやってみた対処法。 生成されるサムネイルの数を減らす為に、 ■【YAPB】管理画面からの継続的なサムネイル除去 *旧記事*■Yet Another Photoblog 管理画面のサムネイルを外す 参考にさせ [...]

    ピンバック by C*P:Blog - Illustカテゴリについて — 2010 年 6 月 14 日 @ 8:46 AM

この投稿へのコメントの RSS フィード。 TrackBack URL

コメントする