目次
- 投稿者アーカイブページ → 404へリダイレクトする
- Emoji(絵文字)機能を無効化する
- 自動整形機能を無効化する
- 投稿・固定ページで PHPファイルを有効化する
- ウィジェットでショートコードを使えるようにする
- メディアライブラリに SVG 形式の画像をアップロードできるようにする
- 画像を <p>タグで囲まないようにする
- 検索結果から固定ページを除外する
- ログイン画面のロゴを変更する
- ダッシュボード内の不要なメニューを非表示にする
- rel= “noreferrer” を削除する
投稿者アーカイブページ → 404へリダイレクトする
https://example.com/?author=1
にアクセスした際、投稿者アーカイブページではなくhttps://example.com/404/
にリダイレクトします。
function author_archive_redirect() { if($_GET['author'] !== null) { wp_redirect( home_url('/404/') ); exit; } } add_action('init', 'author_archive_redirect');
Emoji(絵文字)機能を無効化する
function disable_emojis() { remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); remove_action( 'wp_print_styles', 'print_emoji_styles' ); remove_action( 'admin_print_styles', 'print_emoji_styles' ); remove_filter( 'the_content_feed', 'wp_staticize_emoji' ); remove_filter( 'comment_text_rss', 'wp_staticize_emoji' ); remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' ); } add_action( 'init', 'disable_emojis' );
自動整形機能を無効化する
<p>
タグ、<br>
タグの自動挿入を無効化します。
remove_filter('the_content', 'wpautop'); remove_filter('the_excerpt', 'wpautop');
固定ページだけ無効化するならこちら。
function disable_page_wpautop() { if ( is_page() ) remove_filter( 'the_content', 'wpautop' ); } add_action( 'wp', 'disable_page_wpautop' );
投稿・固定ページで PHPファイルを有効化する
ショートコードで PHPファイルを読み込めるようになります。
function Include_my_php($params = array()) { extract(shortcode_atts(array( 'file' => 'default' ), $params)); ob_start(); include(get_theme_root() . '/' . get_template() . "/$file.php"); return ob_get_clean(); } add_shortcode('myphp', 'Include_my_php');
ウィジェットでショートコードを使えるようにする
add_filter('widget_text', 'do_shortcode' );
メディアライブラリに SVG 形式の画像をアップロードできるようにする
add_filter('upload_mimes', 'set_mime_types'); function set_mime_types($mimes) { $mimes['svg'] = 'image/svg+xml'; return $mimes; }
画像を <p>タグで囲まないようにする
<img>
タグを<p>
タグで囲まないようにします。
function filter_ptags_on_images($content) { return preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content); } add_filter('the_content', 'filter_ptags_on_images');
検索結果から固定ページを除外する
検索結果に投稿だけ表示されるようになります。
function SearchFilter($query) { if (!is_admin() && $query->is_search()) { $query->set('post_type', 'post'); } return $query; } add_action( 'pre_get_posts','SearchFilter' );
ログイン画面のロゴを変更する
画像は imagesフォルダにアップロードするか、echo
以降を修正して下さい。
function custom_login_logo() { echo '<style type="text/css">h1 a { background: url(' . get_bloginfo( 'template_directory' ) . '/images/login-logo.png) no-repeat center center !important; }</style>'; } add_action( 'login_head', 'custom_login_logo' );
ダッシュボード内の不要なメニューを非表示にする
function remove_menu() { remove_menu_page( 'index.php' ); // ダッシュボード remove_menu_page( 'edit.php' ); // 投稿 remove_menu_page( 'upload.php' ); // メディア remove_menu_page( 'link-manager.php' ); // リンク remove_menu_page( 'edit.php?post_type=page' ); // 固定ページ remove_menu_page( 'edit-comments.php' ); // コメント remove_menu_page( 'themes.php' ); // 外観 remove_menu_page( 'plugins.php' ); // プラグイン remove_menu_page( 'users.php' ); // ユーザー remove_menu_page( 'tools.php' ); // ツール remove_menu_page( 'options-general.php' ); // 設定 } add_action( 'admin_menu', 'remove_menu', 999 );
rel= “noreferrer” を削除する
target="_blank"
に付与されるrel="noreferrer"
を削除します。
WordPress 5.1 以降。
add_filter('tiny_mce_before_init','tinymce_allow_unsafe_link_target_demo'); function tinymce_allow_unsafe_link_target_demo( $mce_init ) { $mce_init['allow_unsafe_link_target']=true; return $mce_init; } add_filter( 'wp_targeted_link_rel', 'wp_targeted_link_rel_custom_demo', 10, 2 ); function wp_targeted_link_rel_custom_demo( $rel_value, $link_html ){ $rel_value = str_replace(' noreferrer', '', $rel_value); return $rel_value; }