WP-functions generatorは、WordPressでサイトを作成する際、カスタマイズのためによくfunctions.phpに追加するコードを生成してくれるジェネレーターです。
WP-functions generatorで生成できるカスタマイズ用のコード
WP-functions generatorでは、以下のようなカスタマイズ用のコードを生成できます。
metaリンクの削除
- DNS Prefetchの削除(emojiを削除する場合は不要)
- 絵文字を削除
- 外部アプリケーションから情報を取得するタグを削除
- フィード削除
- rel=”canonical”タグの非表示
- 短縮URLの非表示
- 現在の文書に対する「索引」であることを示すタグ
- link rel=next等のタグ
- WordPressのバージョン情報を削除(5.6ではそもそも表示されない)
- デフォルトのjQueryを読み込ませない
- jsのパラメータに付与されるWordPressのバージョン情報を削除
- タイトルタグ出力(直接titleを記述する場合は不要)
管理画面のカスタマイズ
- コメント機能削除(comment_form()の強制削除)
- 管理画面から「コメント」削除(wp-admin/edit-comments.phpでアクセス可能)
- Adminバーの非表示
- AdminバーのWordPress公式メニュー削除
投稿画面のカスタマイズ
- アイキャッチの有効化
- the_post_thumbnail()のクラスを削除
- pタグが自動的に挿入されないようにする(Gutenbergでは不可)
- the_excerpt()にp、brタグが挿入されないようにする
- the_excerpt()の末尾の文字列を変更
- エディタースタイル適応
その他カスタマイズ
- URL自動補完機能を停止
WP-functions generatorの使い方
WP-functions generatorにアクセスして、追加したい機能やカスタマイズ内容にチェックを入れるだけです。デフォルトではすべてチェックが入っているので、不要なものはチェックを外していきます。
右側に生成されたコードが表示されるので、コピーしてfunctions.phpに貼り付けましょう。
すべてチェックを入れた状態だと、以下のようなコードが生成されます。
// DNS Prefetchの削除(emojiを削除する場合は不要)
remove_action( 'wp_head', 'wp_resource_hints', 2);
// 絵文字を削除
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' );
add_filter( 'emoji_svg_url', '__return_false' );
// 外部アプリケーションから情報を取得するタグ
remove_action( 'wp_head', 'rsd_link' );
// フィード削除
remove_action( 'wp_head', 'feed_links', 2);
remove_action( 'wp_head', 'feed_links_extra', 3);
// rel=”canonical”タグの非表示
remove_action( 'wp_head', 'rel_canonical' );
//短縮URLの非表示
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
// 現在の文書に対する「索引」であることを示すタグ
remove_action( 'wp_head', 'index_rel_link' );
// link rel=next等のタグ
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
// WordPressのバージョン情報を削除(5.6ではそもそも表示されない)
remove_action( 'wp_head','wp_generator' );
// デフォルトのjQueryを読み込ませない
function delete_jquery() {
wp_deregister_script( 'jquery' );
}
add_action( 'wp_enqueue_scripts', 'delete_jquery' );
//jsのパラメータに付与されるWordPressのバージョン情報を削除
function remove_cssjs_ver( $src ) {
if ( strpos( $src, 'ver=' ) ){
$src = remove_query_arg( 'ver', $src );
return $src;
}
}
add_filter( 'style_loader_src', 'remove_cssjs_ver', 9999 );
add_filter( 'script_loader_src', 'remove_cssjs_ver', 9999 );
// タイトルタグ出力(直接titleを記述する場合は不要)
add_theme_support( 'title-tag' );
// コメント機能削除(comment_form()の強制削除)
add_filter( 'comments_open', '__return_false' );
// 管理画面から「コメント」削除(wp-admin/edit-comments.phpでアクセス可能)
function remove_menus() {
remove_menu_page( 'edit-comments.php' );
}
add_action( 'admin_menu', 'remove_menus' );
// Adminバーの非表示
add_filter( 'show_admin_bar', '__return_false' );
// AdminバーのWordPress公式メニュー削除
function remove_adminbar_item($wp_admin_bar){
if (!is_admin()) {
$wp_admin_bar->remove_node( 'wp-logo' );
}
}
add_action( 'admin_bar_menu', 'remove_adminbar_item', 999);
// アイキャッチの有効化
add_theme_support( 'post-thumbnails' );
// the_post_thumbnail()のクラスを削除
function wps_post_thumbnail_remove_class( $output ) {
$output = preg_replace( '/class=\".*?\"/', '', $output );
return $output;
}
add_filter( 'post_thumbnail_html', 'wps_post_thumbnail_remove_class' );
// pタグが自動的に挿入されないようにする
remove_filter( 'the_content', 'wpautop' );
// the_excerptにp、brタグが挿入されないようにする
remove_filter( 'the_excerpt', 'wpautop' );
//the_excerpt()の末尾の文字列を変更
function new_excerpt_more($more) {
return '[...]';
}
add_filter( 'excerpt_more', 'new_excerpt_more' );
// エディタースタイル適応
function gutenberg_support_setup(){
add_theme_support( 'editor-styles' ); // 旧エディタ用
add_editor_style( 'editor-style.css' ); // 新ブロックエディタ用
}
add_action( 'after_setup_theme', 'gutenberg_support_setup' );
// URL自動補完機能を停止
add_filter(
'redirect_canonical',
function( $redirect_url ) {
return false;
}
);
あとがき
カスタマイズのためによく追加するコードが生成できて、WordPressでサイト制作する際に役立ちそうですね。
「これも追加してほしい」とか要望も受け付けているみたいです。個人的にはサムネイルサイズの追加もあると便利かなと思いました。