基本設定
// common - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
// アドミンバー非表示
add_filter('show_admin_bar', '__return_false');
// pタグ除去
remove_filter('the_content', 'wpautop');
// サムネイル有効化
add_theme_support( 'post-thumbnails' );
// <meta name=”generator”> 無効化
remove_action('wp_head','wp_generator');
// Windows Live Writer 無効化
remove_action('wp_head', 'wlwmanifest_link');
// RSD(Really Simple Discovery) 無効化
remove_action('wp_head', 'rsd_link');
// 絵文字の読み込みを無効化
remove_action('wp_head', 'print_emoji_detection_script', 7 );
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_action('admin_print_styles', 'print_emoji_styles');
http://elsur.xyz/wordpress-functions-remove-filter
アイキャッチ画像サイズを指定
/* アイキャッチ画像サイズ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
add_image_size('tmb_full', 700, 432, true); // ブログ用 サムネイル
add_image_size('tmb_min', 350, 216, true); // ナビゲーション用 サムネイル
functions.phpを分割
// functions.phpを分割 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
locate_template('tmp/functions/custom_post.php', true);
アドミンバーで不要な項目を非表示
// アドミンバーで不要な項目を非表示 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function update_adminbar($wp_adminbar) {
// 不要な項目を選択
$wp_adminbar->remove_node('wp-logo');
$wp_adminbar->remove_node('customize');
$wp_adminbar->remove_node('comments');
$wp_adminbar->remove_node('updates');
$wp_adminbar->remove_node('search');
}
add_action('admin_bar_menu', 'update_adminbar', 999);
WPが生成するサイトマップを無効化
/* WPが生成するサイトマップを無効化 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
add_filter( 'wp_sitemaps_enabled', '__return_false' );
https://www.suzukikenichi.com/blog/how-to-disable-core-xml-sitemap-in-wordpress-5-5/
Contact Form 7 スパムメール対策
// Contact Form 7 スパムメール対策(本文に日本語が含まれていない場合はエラーを返す) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function wpcf7_validate_spam_message( $result, $tag ) {
$value = str_replace(array(PHP_EOL,' '), '', esc_attr($_POST['your-message']));
if (!empty($value)) {
if (preg_match('/^[!-~]+$/', $value)) {
$result['valid'] = false;
$result['reason'] = array('your-message' => 'エラー:この内容は送信できません');
}
}
return $result;
}
add_filter( 'wpcf7_validate', 'wpcf7_validate_spam_message', 10, 2 );
https://kodocode.net/wordpress-plugin-contactform-secure/
下書きの固定ページを親ページに設定できるようにする
// 下書きの固定ページを親ページに設定できるようにする - - - - - - - - - - - - - - - - - - - - */
function add_private_draft($args) {
$args['post_status'] = 'publish,private,draft';
return $args;
}
add_filter('page_attributes_dropdown_pages_args', 'add_private_draft');
投稿RSSに固定ページやカスタム投稿を含める
/* 投稿RSSに固定ページやカスタム投稿を含める - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
add_filter( 'pre_get_posts', 'my_custom_posts_rss' );
function my_custom_posts_rss( $query ) {
if ( is_feed() )
$query->set( 'post_type', array( 'post', 'page', 'custom_posts' ) );
return $query;
}
アドミンバーに独自メニューを追加
// アドミンバー ////////////////////////////////////////////////////////////////////////////////////////////////////
function customize_admin_bar_menu($wp_admin_bar){
//バーにメニューを追加
$title = sprintf(
'<span class="ab-label">%s</span>',
'管理メニュー'//親メニューラベル
);
$wp_admin_bar->add_menu(array(
'id' => 'dashboard_menu',
'meta' => array(),
'title' => $title
));
//サブメニューを追加
$wp_admin_bar->add_menu(array(
'parent' => 'dashboard_menu', // 親メニューID
'id' => 'dashboard_menu-dashboard', // 子メニューID
'meta' => array(),
'title' => 'ダッシュボード', // ラベル
'href' => home_url('/wp-admin/')
));
$wp_admin_bar->add_menu(array(
'parent' => 'dashboard_menu', // 親メニューID
'id' => 'dashboard_menu-singles', // 子メニューID
'meta' => array(),
'title' => '投稿一覧', // ラベル
'href' => home_url('/wp-admin/edit.php')
));
$wp_admin_bar->add_menu(array(
'parent' => 'dashboard_menu', // 親メニューID
'id' => 'dashboard_menu-pages', // 子メニューID
'meta' => array(),
'title' => '固定ページ一覧', // ラベル
'href' => home_url('/wp-admin/edit.php?post_type=page')
));
$wp_admin_bar->add_menu(array(
'parent' => 'dashboard_menu', // 親メニューID
'id' => 'dashboard_menu-theme-editor', // 子メニューID
'meta' => array(),
'title' => 'テーマの編集', // ラベル
'href' => home_url('/wp-admin/theme-editor.php')
));
$wp_admin_bar->add_menu(array(
'parent' => 'dashboard_menu', // 親メニューID
'id' => 'dashboard_menu-csv_export', // 子メニューID
'meta' => array(),
'title' => 'CSVエクスポート', // ラベル
'href' => home_url('/wp-admin/tools.php?page=wp-csv-exporter')
));
$wp_admin_bar->add_menu(array(
'parent' => 'dashboard_menu', // 親メニューID
'id' => 'dashboard_menu-csv_import', // 子メニューID
'meta' => array(),
'title' => 'CSVインポート', // ラベル
'href' => home_url('/wp-admin/admin.php?import=csv')
));
}
add_action('admin_bar_menu', 'customize_admin_bar_menu', 100);
投稿編集画面にタグ一覧を表示しチェックボックス選択式にする
// 投稿画面にタグ一覧を表示しチェックボックス選択式にする
function re_register_post_tag_taxonomy() {
$tag_slug_args = get_taxonomy('post_tag');
$tag_slug_args->hierarchical = true;
$tag_slug_args->meta_box_cb = 'post_categories_meta_box';
register_taxonomy('post_tag', 'post', (array) $tag_slug_args);
}
add_action( 'init', 're_register_post_tag_taxonomy', 1 );
https://www.saka-en.com/wordpress/wordpress-tag-list-checkbox/
ai/psdファイルをアップロードできるようにする
/* ai/psdファイルをアップロードできるようにする - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function upload_ai($mimes) {
$mimes['ai'] = 'application/pdf';
return $mimes;
}
add_filter('upload_mimes', 'upload_ai');
function allow_upload_psd( $mimes ) {
$mimes['psd'] = 'image/vnd.adobe.photoshop';
return $mimes;
}
add_filter( 'upload_mimes', 'allow_upload_psd' );