gooodmark

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

724bookmark

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>';
}