どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ

19 8月

  • このエントリーをはてなブックマークに追加

いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ

今回はあまり知られていないマイナーなカスタマイズを中心にご紹介します。
正直いつ使えばいいか分からないものも混ざっていますが、
WordPressのカスタマイズでこんな事もできるのかと、知ってもらえれば幸いです。

目次

①URLを入力しスクリーンショットを撮る方法

URLを入力するだけ、そのURL先のスクリーンショットを取ることができます。
以下のコードを現在使用しているテーマフォルダの「functions.php」に記述します。
※「functions.php」がなければ作成しましょう。


function wpr_snap($atts, $content = null) {
        extract(shortcode_atts(array(
			"snap" => 'http://s.wordpress.com/mshots/v1/',
			"url" => 'http://www.catswhocode.com',
			"alt" => 'My image',
			"w" => '400', // width
			"h" => '300' // height
        ), $atts));

	$img = '<img src="' . $snap . '' . urlencode($url) . '?w=' . $w . '&h=' . $h . '" alt="' . $alt . '"/>';
        return $img;
	
}

add_shortcode("snap", "wpr_snap");

スクリーンショットに指定したURLへリンクしたい場合は
returnを下記に変更します。

return '<a href="' . $url . '">' . $img . '</a>';

スクリーンショットを使いたいところに下記ショートコードを貼り付けます。

[snap url="URLを入力" alt="altを入力" w="横" h="縦"]

ショートコード例
※高さは省略することができます。

スクリーンショット例

②サイト修正時に便利なメンテナンスモード

プラグインを使わずにお手軽にメンテナンス画面を表示する方法です。
以下のコードを現在使用しているテーマフォルダの「functions.php」に記述します。
※「functions.php」がなければ作成。

function wpr_maintenance_mode() {
    if ( !current_user_can( 'edit_themes' ) || !is_user_logged_in() ) {
        wp_die('<h2>ただいまメンテナンステスト中です。</h2><p>ご迷惑をお掛けしています。</p>');
    }
}
add_action('get_header', 'wpr_maintenance_mode');

これだけでログインしていない状態でページにアクセスすると次のような画面が表示されます。

メンテナンスモード例

③複数登録も可能。RSSの読み込み

簡単にRSSを読み込むことができます。
以下のコードを現在使用しているテーマフォルダの読み込みたい場所に記述します。
RSS1~RSS3に読み込みたいRSSのURLを記述します。カンマで区切ることで、
幾つも読み込みます。

<?php include_once(ABSPATH . WPINC . '/feed.php');
$rss = fetch_feed(array(
'RSS1',
'RSS2',
'RSS3'
));
if (!is_wp_error( $rss ) ) : 
	$rss->set_cache_duration(1800);
	$rss->init(); 
	$maxitems = $rss->get_item_quantity(幾つ読み込むか); 
	$rss_items = $rss->get_items(0, $maxitems); 
	date_default_timezone_set('Asia/Tokyo');
endif;
?>
<dl>
	<?php if ($maxitems == 0) echo '<dt>No items.</dt>';
	else
	foreach ( $rss_items as $item ) : ?>
	<dt>
	<?php echo $item->get_feed()->get_title(); ?><br />
	<a href='<?php echo $item->get_permalink(); ?>' target="_blank"><?php echo $item->get_title(); ?></a>
	</dt>
	<dd>(<?php echo $item->get_date("Y-n-j H:i:s"); ?>)</dd>
	<?php endforeach; ?>
</dl>

④アドミンバーのカスタマイズ

アドミンバー

WordPress 3.1 から登場したアドミンバー。
こちら必要ない場合は、管理ページの ユーザー → ユーザーの編集 → 管理バーの表示で消すことが出来ます。

管理画面で消す方法

functions.phpで非表示にする

その他にもコードを記述することにより非表示にすることができます。
以下のコードを現在使用しているテーマフォルダの「functions.php」に記述します。
※「functions.php」がなければ作成。

add_filter( 'show_admin_bar', '__return_false' );

アドミンバーの位置を下部に移動

デフォルトだとアドミンバーは上部にありますが、こちら移動することができます。
以下のコードを現在使用しているテーマフォルダの「functions.php」に記述します。
※「functions.php」がなければ作成。

function stick_admin_bar_to_bottom_css() {
	   echo "
	   <style type='text/css'>
	   html {
			 padding-bottom: 28px !important;
	   }
	   body {
			 margin-top: -28px;
	   }
	   #wpadminbar {
			 top: auto !important;
			 bottom: 0;
	   }
	   #wpadminbar .quicklinks .menupop ul {
			 bottom: 28px;
	   }
	   </style>
	   ";
}
add_action('admin_head', 'stick_admin_bar_to_bottom_css');
add_action('wp_head', 'stick_admin_bar_to_bottom_css');

メニューボタンの削除

イラナイ項目は削除することが出来ます。
以下のコードを現在使用しているテーマフォルダの「functions.php」に記述します。
※「functions.php」がなければ作成。

function mytheme_admin_bar_render() {
	global $wp_admin_bar;
	$wp_admin_bar->remove_menu('updates');
	$wp_admin_bar->remove_menu('comments');
}
add_action( 'wp_before_admin_bar_render', 'mytheme_admin_bar_render' );

「remove_menu」に削除したいボタンを指定します。
指定する文字列はソースコードのリストの「id」になっています。

my-account
my-account-with-avatar
一番左のアカウント
new-content 新規追加
comments コメント
appearance 外観
updates 更新

※バージョン3.2で確認しました。バージョンによってIDが変わります。

メニューボタンの追加

新しく項目を増やしたい場合はこちらになります。
以下のコードを現在使用しているテーマフォルダの「functions.php」に記述します。
※「functions.php」がなければ作成。

function mytheme_admin_bar_render() {
	global $wp_admin_bar;
		$wp_admin_bar->add_menu( array(
			'id' => 'upload',
			'title' => 'メディア',
			'href' => admin_url( 'upload.php')
		));
		$wp_admin_bar->add_menu( array(
			'parent' => 'upload',
			'id' => 'media-new',
			'title' => 'メディアのアップロード',
			'href' => admin_url( 'media-new.php')
		));
}
add_action( 'wp_before_admin_bar_render', 'mytheme_admin_bar_render' );

「href」は移動した管理画面のアドレスバーに表示されているファイル名を指定します。
上記のコードではメディアが追加されます。

⑤自動挿入されるp,brタグを削除する

自動的に入るp,brタグを削除する方法です。
以下のコードを現在使用しているテーマフォルダの「functions.php」に記述します。
※「functions.php」がなければ作成。

remove_filter('the_content', 'wpautop');

⑥オートセーブとリビジョン機能を無効化する

データベースもリビジョンの分だけ増えていってしまいます。
記事IDが10,15,22・・・の用にとびとびになってしまうのは、オートセーブとリビジョン機能が原因になっています。
そこで、このありがたいオートセーブとリビジョン機能を無効化する方法です。

WordPressルートにある「wp-config.php」を修正します。

define('WP_POST_REVISIONS', false );
define('AUTOSAVE_INTERVAL',3600);

78行目の「define (‘WPLANG’, ‘ja’)」の下あたりに追加してください。
※バージョンにより場所が違う場合があります。
「WP_POST_REVISIONS」をfalseにすることでリビジョン機能を無効にできます。
「AUTOSAVE_INTERVAL」はオートセーブの保存間隔です。デフォルトは60秒なのでこの数値を大きくすることで保存のタイミングを遅くできます。

オートセーブを完全無効化

上記の方法では保存間隔を遅くする方法でした。
完全に無効にするには以下のコードを現在使用しているテーマフォルダの「functions.php」に記述します。
※「functions.php」がなければ作成。

function disable_autosave() {
	wp_deregister_script('autosave');
}
add_action('wp_print_scripts','disable_autosave');

※注意ですが、自動保存を停止するとプレビューが効かなくなる可能性があります。充分注意してお使い下さい。

⑦ログイン画面&管理画面のロゴ変更

簡単にログイン画面や管理画面のロゴを変更することができます。

管理画面のロゴ

以下のコードを現在使用しているテーマフォルダの「functions.php」に記述します。
※「functions.php」がなければ作成。

function my_custom_logo() {
echo '<style type="text/css">
#header-logo { background-image: url('.get_bloginfo('template_directory').'/images/custom-logo.gif) !important; }
</style>';
}
add_action('admin_head', 'my_custom_logo');

WordPress 3.2 になってから、ロゴが小さくなり、16px x 16pxになったそうです。

ログイン画面のロゴ

以下のコードを現在使用しているテーマフォルダの「functions.php」に記述します。
※「functions.php」がなければ作成。

function my_custom_login_logo() {
  echo '<style type="text/css">
h1 a { background-image:url('.get_bloginfo('template_directory').'/images/custom-login-logo.gif) !important; }     </style>';
}
 add_action('login_head', 'my_custom_login_logo');

画像のサイズ(h1 a タグのサイズ)は 326px x 82pxだそうです。

ログイン画面全体のスタイルを変更

以下のコードを現在使用しているテーマフォルダの「functions.php」に記述します。
※「functions.php」がなければ作成。

function custom_login() {
  echo '<link rel="stylesheet" type="text/css" href="'.get_bloginfo('template_directory').'/login.css" />';
}
add_action('login_head', 'custom_login');

上記コードはlogin.cssに設定されています。各自変更して下さい。

⑧ログイン画面のURL先を別にする方法

WordPressのパーマリンクの設定をしたときに作られる、
.htaccess fileに以下を記述します。

RewriteRule ^login$ 自分のサイトURL/wp-login.php [NC,L]

login$部分に好きな文字を入力します。
するといつもログインするのに、自分のURL/loginで管理画面に移動します。
wp-admin以外のURLでもログインすることができます。

⑨ゴミ箱を定期的に空にする方法

ページや投稿についているゴミ箱。こちらを定期的に空にする方法です。
wp-config.phpに以下を記述します。

define('EMPTY_TRASH_DAYS', 10 );

⑩コメントが多い記事を抽出

今まで書いていた記事の中で一番コメントが多い記事を抽出します。
以下のコードを表示したい場所に書くだけです。

$pop = $wpdb->get_results("SELECT id, post_title, comment_count FROM {$wpdb->prefix}posts WHERE post_type='post' ORDER BY comment_count DESC LIMIT 10");

<ul>
foreach($pop as $post) : ?>
<li> <?php echo $post->post_title; ?> </li>
<?php endforeach; ?>
</ul>

まとめ

今回のカスタマイズまとめですが、
どこで使えばいいか分からないものが、多いかと思います。そんな今回のまとめですが、何かの時に役立てばとても幸いです。

今回の記事作成にあたり参考にさせて頂きました、サイトです。

トラックバック

  1. […] URL を記入するだけでウェブのスクリーンショットを撮るプラグイン Posted on 2011年08月20日 by Zero Cool 0 「デザインどや!?::どや!?いつか使うかも知れない簡単に出来るWordPres…に掲載されている「URLを入力しスクリーンショットを撮る方法」がとにかく嬉しい!これまで、Google Chrome の拡張機能である「Awesome Screenshot」を利用して、スクリーンショットを撮って、イメージファイルを保存して、ブログの投稿記事に埋め込んで・・・といったプロセスを踏むわけですから、単純に URL を記入するだけでスクリーンショットが埋め込めるなんて夢のようです・・・ […]

  2. […] どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ … (tags: wordpress) […]

  3. […] どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ …. カテゴリー: 未分類   パーマリンク ← 有料だったが無料化した超多機能スクリーンショットソフト「SnapDraw」 – GIGAZINE […]

  4. […] どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ […]

  5. […] 細部の情報で、ちょっと詳細な部分もあります。 http://www.doya-doya.com/word-press/2011/08/19/7785#c7 カテゴリー: 管理者情報   パーマリンク ← […]

  6. […] 参考:どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ … […]

  7. […] 元サイト:http://www.doya-doya.com/word-press/2011/08/19/7785 分類: Plug-in. この投稿へのコメントの RSS フィード。. TrackBack URL. […]

  8. […] 参考:どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ参考理由:カスタマイズしたいからまとめ:私にはまだ早かった。以下メモ:スクショ→保留メンテモード→プラグイン複数のRSSを読み込む→使えそうだが保留自動挿入p、brをコードで削除→プラグインオートセーブとリビジョンをコードで無効化→プラグインログイン画面の編集(ロゴ等)→保留 […]

  9. […] どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ …. 目次 ①URLを入力しスクリーンショットを撮る方法 ②サイト修正時に便利なメンテナンスモード ③複数登録も可能なRSSの読み込み ④アドミンバーのカスタマイズ ⑤自動挿入されるp,brタグを削除する ⑥オートセーブとリビジョン機能を無効化する ⑦ログイン画面&管理画面のロゴ変更 ⑧ログイン画面のURL先を変更 ⑨ゴミ箱を定期的に空にする方法 ⑩コメントが多い記事を抽出 […]

  10. […] どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ […]

  11. […] 参考サイト:どや(どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズま… […]

  12. […] どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ … 様を参考にこのサイトでも使っている指定のアドレスのスクリーンショットをサイトに表示する方法です。 […]

  13. […] アドミンバーのカスタマイズ方法 どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ … […]

  14. […] 【デザインどや!?】どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ […]

  15. Nike Blazer より:

    <strong>Nike Blazer</strong>

    どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ | デザインどや!?

  16. <strong>トップス 史上最も激だまし絵</strong>

    どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ | デザインどや!?

  17. <strong>casio カシオ ユニセックス</strong>

    どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ | デザインどや!?

  18. <strong>honda ホンダ インサイト insight</strong>

    どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ | デザインどや!?

  19. <strong>卓球 攻撃用</strong>

    どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ | デザインどや!?

  20. <strong>非常にスポーツ関連グッズ ユニフォームtシャツ</strong>

    どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ | デザインどや!?

  21. <strong>ヘルメット MAX newパイロットジェットヘルメットMAX 3</strong>

    どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ | デザインどや!?

  22. <strong>メンズファッション スカジャンス</strong>

    どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ | デザインどや!?

  23. <strong>アウトドア deuter ドイター</strong>

    どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ | デザインどや!?

  24. <strong>史上最も激スキー スノー コンビネーションワックス</strong>

    どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ | デザインどや!?

  25. <strong>レディース ファッション ショートふんわり</strong>

    どや!?いつか使うかも知れない簡単に出来るWordPressカスタマイズまとめ | デザインどや!?


  26. Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

    Warning: call_user_func() expects parameter 1 to be a valid callback, function 'list_pings' not found or invalid function name in /home/sites/heteml/users/d/o/y/doya/web/design/wp-includes/comment-template.php on line 1810

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">

トラックバックURL

この記事のトラックバック URL