gooodmark

goodなWebサイトを厳選ブックマーク!デザインやディレクションの参考にどうぞ。

516bookmark

WordPressのfunction.phpで常用するコード⑤(投稿管理編)

デフォルト投稿の本文非表示

function.php
add_action( 'init' , 'my_remove_post_editor_support' );
function my_remove_post_editor_support() {
 remove_post_type_support( 'post', 'editor' );
}

デフォルト投稿ラベルを「新着情報」へ(クライアント用)

function.php
function change_post_menu_label() {
	global $menu;
	global $submenu;
	$menu[5][0] = '新着情報';
	$submenu['edit.php'][5][0] = '新着情報一覧';
}
function change_post_object_label() {
	global $wp_post_types;
	$labels = &$wp_post_types['post']->labels;
	$labels->name = '新着情報';
	$labels->singular_name = '新着情報';
	$labels->add_new = _x('新規追加', '新規追加');
	$labels->add_new_item = '新しい新着情報';
	$labels->edit_item = '新着情報の編集';
	$labels->new_item = '新しい新着情報';
	$labels->view_item = '新着情報を表示';
	$labels->search_items = '新着情報を検索';
	$labels->not_found = '新着情報が見つかりませんでした';
	$labels->not_found_in_trash = 'ゴミ箱にも見つかりませんでした';
}
add_action( 'init', 'change_post_object_label' );
add_action( 'admin_menu', 'change_post_menu_label' );

エディタ切り替え:文字列の自動変換を停止

function.php
remove_filter('the_content', 'wptexturize');	// wptexturizeによる文字列変換をしない
remove_filter('the_content', 'convert_chars');	// convert_charsによる文字列変換をしない

エディタ切り替え:spanタグが消えないように

function.php
add_filter('tiny_mce_before_init', 'tinymce_init');
function tinymce_init( $init ) {
	$init['verify_html'] = false;
	return $init;
}

改行・スペース入力の調整

function.php
add_filter('tiny_mce_before_init', 'my_tiny_mce_before_init_filter',10,3);
function my_tiny_mce_before_init_filter( $init_array ) {
    $init_array['remove_linebreaks'] = false;
    return $init_array;
}

メディアを挿入の初期表示を「この投稿へのアップロード」にする

function.php
add_action( 'admin_footer-post-new.php', 'initial_view_of_media_uploader' );
add_action( 'admin_footer-post.php', 'initial_view_of_media_uploader' );
function initial_view_of_media_uploader() { ?>
	<script type="text/javascript">
		jQuery(function($) {
			$('#wpcontent').ajaxSuccess(function() {
				$('select.attachment-filters [value="uploaded"]').attr( 'selected', true ).parent().trigger('change');
			});
		});
	</script>
<?php }

カテゴリをラジオボタンに

function.php
function my_print_footer_scripts() {
echo '<script type="text/javascript">
  //<![CDATA[
  jQuery(document).ready(function($){
    $(".categorychecklist input[type=checkbox]").each(function(){
      $check = $(this);
      var checked = $check.attr("checked") ? \' checked="checked"\' : \'\';
      $(\'<input type="radio" id="\' + $check.attr("id")
        + \'" name="\' + $check.attr("name") + \'"\'
  	+ checked
	+ \' value="\' + $check.val()
	+ \'"/>\'
      ).insertBefore($check);
      $check.remove();
    });
  });
  //]]>
  </script>';
}
add_action('admin_print_footer_scripts', 'my_print_footer_scripts', 21);

よく使うパスをショートコード化

function.php
// テンプレート
add_shortcode('template', 'shortcode_tp');
	function shortcode_tp() {
	return get_template_directory_uri();
}
// サイトURL
add_shortcode('url', 'shortcode_url');
	function shortcode_url() {
	return get_bloginfo('url');
}
// アップロードディレクトリ
add_shortcode('uploads', 'shortcode_up');
function shortcode_up() {
	$upload_dir = wp_upload_dir();
	return $upload_dir['baseurl'];
}

プレビューボタン非表示

function.php
add_action('admin_print_styles', 'admin_preview_css_custom');
function admin_preview_css_custom() {
   echo '<style>#preview-action{display: none!important;}</style>';
}