WordPressをもっと便利にするスニペットが500個以上登録されている -WPSNIPP

WordPressにちょっと機能を追加したい時に役立つスニペットをまとめたサイトを紹介します。
目的をもって探すだけでなく、こんなこともできるのかという発見もあるかもしれません。

サイトのキャプチャ

WPSNIPP – 500+ WordPress code snippets for your blog

WPSNIPPでは現在、545個のWordPressの便利なスニペットが登録されています。
下記にほんのちょっとだけ、その便利なスニペットをピックアップしました。

よく使うショートコードをボタンから選択可能に

テーマファイルの「functions.php」に下記のコードを記述します。

PHP

add_action('media_buttons','add_sc_select',11);
function add_sc_select(){
    echo '&nbsp;<select id="sc_select">
			<option>Shortcode</option>
			<option value="&#91;html&#93;&#91;/html&#93;">[html]</option>
			<option value="&#91;css&#93;&#91;/css&#93;">[css]</option>
			<option value="&#91;javascript&#93;&#91;/javascript&#93;">[javascript]</option>
	</select>';
}
add_action('admin_head', 'button_js');
function button_js() {
	echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript"></script>
	<script type="text/javascript">
	jQuery(document).ready(function(){
	   $("#sc_select").change(function() {$("#content").val($("#content").val()+$("#sc_select :selected").val());})
	});
	</script>';
}
参考:
Add custom media_buttons for shortcode selection

特定のページのみ特定のスタイルシートを適用

特定のページのbodyタグにclassを付与します。
テーマファイル内の「functions.php」に下記のコードを記述します。

PHP

add_filter( 'body_class', 'my_neat_body_class');
function my_neat_body_class( $classes ) {
     if ( is_page(7) || is_category(5) || is_tag('neat') )
          $classes[] = 'neat-stuff';
     return $classes;
}

テーマファイル内の「header.php」のbodyタグを下記に書き換えます。

PHP

<body <?php body_class(); ?>>
参考:
Add custom body class for specific pages

アーカイブウィジェットの表示期間を制限する

アーカイブウィジェットの表示期間を12ヵ月に制限します。
テーマファイル内の「function.php」に下記のコードを記述します。

PHP

function my_limit_archives($args){
    $args['limit'] = 12;
    return $args;
}
add_filter( 'widget_archives_args', 'my_limit_archives' );
参考:
Limit archives widget to display only 12 months

Google+1ボタンを設置する

自動的にGoogle+1ボタンを設置します。`
テーマファイル内の「function.php」に下記のコードを記述します。

PHP

add_filter('the_content', 'google_plusone');
function google_plusone($content) {
	$content = $content.'<div class="plusone"><g:plusone size="tall" href="'.get_permalink().'"></g:plusone></div>';
	return $content;
}
add_action ('wp_enqueue_scripts','google_plusone_script');
function google_plusone_script() {
	wp_enqueue_script('google-plusone', 'https://apis.google.com/js/plusone.js', array(), null);
}
参考:
Automatically add the Google +1 button

プラグインを管理画面を使わずに停止する

管理画面を使わずに特定のプラグインを停止します。
テーマファイル内の「function.php」に下記のコードを記述します。

PHP

add_filter( 'plugin_action_links', 'slt_lock_plugins', 10, 4 );
function slt_lock_plugins( $actions, $plugin_file, $plugin_data, $context ) {
    // Remove edit link for all
    if ( array_key_exists( 'edit', $actions ) )
        unset( $actions['edit'] );
    // Remove deactivate link for crucial plugins
    if ( array_key_exists( 'deactivate', $actions ) && in_array( $plugin_file, array(
        'slt-custom-fields/slt-custom-fields.php',
        'slt-file-select/slt-file-select.php',
        'slt-simple-events/slt-simple-events.php',
        'slt-widgets/slt-widgets.php'
    )))
        unset( $actions['deactivate'] );
    return $actions;
}
参考:
Disable plugin deactivation for specific plugins

CSSファイルのキャッシュを防止する

外部スタイルシートファイルの記述の後に「?v=1.0」などを付与してキャッシュを防いでると思いますが、これを自動で行う方法です。
外部スタイルシートを記述する箇所を下記に変更します。

PHP

ファイル名の後にtime()を付与します。

<style type="text/css" media="screen">
	@import url( <?php bloginfo('stylesheet_url'); ?>?<?php echo time(); ?> );
</style>

バージョンを付与する際は、下記のようになります。

<style type="text/css" media="screen">
	@import url( <?php bloginfo('stylesheet_url'); ?>?v=1.0 );
</style>
参考:
Prevent cached CSS

大切な「wp-config.php」を守る

「.htaccess」を使用して、「wp-config.php」への直接のアクセスを拒否します。
「.htaccess」に下記のコードを記述します。

<files wp-config.php>
order allow,deny
deny from all
</files>
参考:
Protect wp-config with .HTACCESS

WPSNIPPでは他にも数多くのスニペットが登録されており、カテゴリやタグに分けられているので、探すのも便利です。

サイトのキャプチャ

WPSNIPPのカテゴリ一覧

top of page

©2017 coliss