WordPressサイトにちょっとした変更を加えることは、隠された超能力を解き放つようなものです。functionsファイルに数行のコードを追加するだけで、追加のプラグインなしでサイトの動作をカスタマイズできます。
functions.php ファイルは何年もの実験を経てきました。これはWordPressユーザーのツールキットの中で最も便利なツールの1つです。少しのコードでカスタム機能を追加したり、不要なものを削除したり、サイトの動作を微調整したりできます。
ただし、始める前に、重要なルールが1つあります。それは、必ずサイトのバックアップを取ることです。functionsファイルを編集することは、車のエンジンを調整するようなものです。小さな間違いでも、すべてを壊してしまう可能性があります。より安全な方法をご希望の場合は、代わりにカスタムコードスニペットプラグインの使用をお勧めします。
このガイドでは、functionsファイルを使用してWordPressをカスタマイズできる便利なトリックを25個ご紹介します。始めましょう!

WordPressのfunctions.phpファイルとは?
functions.phpファイルは、WordPressテーマの脳のようなものです。すべての無料およびプレミアムWordPressテーマに含まれており、開発者がカスタム機能(機能)を定義できるようにします。
テーマに組み込まれたミニプラグインと考えてください。カスタムコードスニペットを追加して、追加のウィジェットの追加からログインページの変更まで、サイトの動作を微調整できます。これは強力なツールですが、注意点があります。
functionsファイルを直接編集するのは最善の方法ではありません。テーマを更新すると、カスタムコードはすべて失われます。また、間違いを犯すとサイトが壊れ、修正に奔走することになる可能性があります。
そのため、私たちは常にWPCodeの使用をお勧めしています。これは、コードスニペットの追加を簡単かつリスクフリーにする無料のプラグインです。
なぜWPCodeを好むのですか?
- テーマやコアファイルを変更せずにカスタムスニペットを保存できます。
- コードが必要な場所に自動的に配置されます。
- スニペットは個別に保存されるため、いつでもオンまたはオフを切り替えることができます。
- エラーを引き起こしたスニペットを無効にする組み込みのフェイルセーフ機能があります。
追加の特典として、WPCode プラグインには、あらかじめ設定されたスニペットの巨大なライブラリが含まれています。コーディング不要で、クリックするだけで有効化できます!

詳細については、WPCodeの詳細レビューをご覧ください。
コードスニペットの最適な扱い方がわかったので、WordPressサイトをカスタマイズするために使用できる便利な関数をいくつかご紹介します。
- これらのコードスニペットをウェブサイトに追加する方法
- WordPressのバージョン番号を削除する
- カスタムダッシュボードロゴを追加する
- WordPress管理画面のフッターを変更する
- WordPressにカスタムダッシュボードウィジェットを追加する
- WordPressでデフォルトのGravatarを変更する
- WordPressフッターの動的な著作権日付
- WordPressで背景色をランダムに変更する
- WordPressのURLを更新する
- WordPressで追加の画像サイズを追加する
- テーマに新しいナビゲーションメニューを追加する
- 著者プロフィールフィールドを追加
- WordPressテーマにウィジェット対応エリアまたはサイドバーを追加する
- RSSフィードのフッターを操作する
- RSSフィードにアイキャッチ画像を追加する
- WordPressでログインエラーを非表示にする
- WordPressでメールによるログインを無効にする
- WordPressで検索機能を無効にする
- RSSフィードの投稿を遅延させる
- WordPressで抜粋の続きを読むテキストを変更する
- WordPressでRSSフィードを無効にする
- WordPressで抜粋の長さを変更
- WordPressで管理者ユーザーを追加する
- ログインページでの言語スイッチャーを無効にする
- WordPressで登録ユーザーの総数を表示する
- 特定のカテゴリをRSSフィードから除外する
- WordPressコメントのURLリンクを無効にする
- WordPress投稿に奇数・偶数CSSクラスを追加する
- WordPressでアップロードできる追加ファイルタイプを追加する
- WordPressメールの送信者名を変更する
- WordPressの投稿に著者情報ボックスを追加する
- WordPressでXML-RPCを無効にする
- アイキャッチ画像を投稿に自動リンクする
- WordPress でブロックエディターを無効にする
- WordPressでブロックウィジェットを無効にする
- WordPressで最終更新日を表示する
- アップロードには小文字のファイル名を使用してください
- フロントエンドでWordPress管理バーを無効にする
- 管理エリアの「こんにちは、管理者」テキストを変更する
- ブロックエディターでのコード編集を無効にする
- プラグイン/テーマファイルエディターを無効にする
- 新規ユーザー通知メールを無効にする
- 自動更新メール通知を無効にする
- 投稿を簡単に複製するためのリンクを追加する
- WordPress管理画面からウェルカムパネルを削除する
- WordPress管理画面の投稿にアイキャッチ画像列を追加する
- 管理者以外の全員に対してWordPress管理エリアをブロックする
これらのコードスニペットをウェブサイトに追加する方法
開始する前に、この記事のコードスニペットをWordPressのfunctionsファイルに追加する方法を見てみましょう。
1. WPCodeを使用してfunctionsファイルにカスタムコードを追加する(推奨)
まず、WPCodeプラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法に関するステップバイステップガイドをご覧ください。
有効化したら、Code Snippets » + Add Snippetページに移動します。WPCodeのコードライブラリが表示され、すでに多くの便利なカスタムコードスニペットが追加されています。

コードスニペットがライブラリのスニペットと同じことを行う場合、そこに追加されているものを試すことができます。
または、「blank snippet」リンクをクリックして、カスタムコードスニペットの追加を続行します。
次の画面で、カスタムコードのタイトルを入力します。これは、このコードスニペットが何をするかを識別するのに役立つものであれば何でも構いません。

次に、「コードタイプ」を選択する必要があります。functions.phpファイルで機能するコードを追加している場合は、「PHPスニペット」を選択する必要があります。
その下に、カスタムコードを「コードプレビュー」ボックスにコピー&ペーストする必要があります。
最後に、スニペットを「アクティブ」に設定し、「スニペットを保存」ボタンをクリックする必要があります。

保存したスニペットは、functions.phpファイルに追加した場合と同様に実行されます。
必要に応じて、プロセスを繰り返してさらにスニペットを追加できます。スニペットを削除せずに非アクティブ化することもできます。
2. functions.php ファイルにカスタムコードを直接追加する
WPCodeメソッドは、テーマのfunctionsファイルにコードを追加するよりも常に優れています。
ただし、一部のユーザーはクライアントのカスタムWordPressテーマ用にコードを作成しているか、単にコードをfunctions.phpファイルに追加することを好む場合があります。
その場合は、WordPress テーマの functions.php ファイルにコードを追加する方法を以下に示します。
まず、FTPクライアントを使用してWordPressウェブサイトに接続します。接続したら、/wp-content/themes/your-wordpress-theme/フォルダに移動します。

そこに functions.php ファイルがあります。右クリックして編集を選択するか、ファイルをコンピューターにダウンロードして編集してください。
メモ帳やTextEditのようなプレーンテキストエディタで編集できます。
次に、functions.php ファイルの一番下までスクロールし、コードスニペットをそこに貼り付けます。変更を保存して、更新された functions.php ファイルをテーマフォルダにアップロードできます。
カスタムコードが実際に動作しているか確認するために、WordPressウェブサイトにアクセスできるようになりました。
さて、WordPressのfunctions.phpファイルで使える46の便利なトリックを見てみましょう。
1. WordPressのバージョン番号を削除する
常に最新バージョンのWordPressを使用する必要があります。ただし、サイトからWordPressのバージョン番号を削除したい場合があります。
このコードスニペットをfunctionsファイルまたは新しいWPCodeスニペットとして追加するだけです。
function wpb_remove_version() {
return '';
}
add_filter('the_generator', 'wpb_remove_version');
詳細な手順については、WordPressのバージョン番号を削除する正しい方法に関するガイドを参照してください。
2. カスタムダッシュボードロゴを追加する
WordPress管理画面をホワイトラベル化したいですか?最初のステップは、カスタムダッシュボードロゴを追加することです。
まず、カスタムロゴをテーマの画像フォルダにcustom-logo.pngとしてアップロードする必要があります。カスタムロゴは1:1の比率(正方形の画像)で、16×16ピクセルである必要があります。
その後、このコードをテーマの functions ファイルに追加するか、新しい WPCode スニペットとして追加できます。
function wpb_custom_logo() {
echo '
<style type="text/css">
#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before {
background-image: url(' . get_bloginfo('stylesheet_directory') . '/images/custom-logo.png) !important;
background-position: 0 0;
color:rgba(0, 0, 0, 0);
}
#wpadminbar #wp-admin-bar-wp-logo.hover > .ab-item .ab-icon {
background-position: 0 0;
}
</style>
';
}
//hook into the administrative header output
add_action('wp_before_admin_bar_render', 'wpb_custom_logo');
詳細については、WordPressでカスタムダッシュボードロゴを追加する方法に関するガイドをご覧ください。
3. WordPress管理画面のフッターを変更する
WordPress 管理画面のフッターには、「WordPress で作成していただきありがとうございます。」というメッセージが表示されます。このコードを追加することで、好きなものに変更できます。
function remove_footer_admin () {
echo 'Fueled by <a href="http://www.wordpress.org" target="_blank">WordPress</a> | WordPress Tutorials: <a href="https://014.leahstevensyj.workers.dev" target="_blank">WPBeginner</a></p>';
}
add_filter('admin_footer_text', 'remove_footer_admin');
追加したいテキストやリンクは自由に編集してください。こちらがテストサイトでの表示例です。

5. WordPressにカスタムダッシュボードウィジェットを追加する
多くのプラグインやテーマがWordPressダッシュボードに追加するウィジェットを見たことがあるでしょう。次のコードを貼り付けることで、自分で追加できます。
add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');
function my_custom_dashboard_widgets() {
global $wp_meta_boxes;
wp_add_dashboard_widget('custom_help_widget', 'Theme Support', 'custom_dashboard_help');
}
function custom_dashboard_help() {
echo '<p>Welcome to Custom Blog Theme! Need help? Contact the developer <a href="mailto:yourusername@gmail.com">here</a>. For WordPress Tutorials visit: <a href="https://014.leahstevensyj.workers.dev" target="_blank">WPBeginner</a></p>';
}
このようになります。

詳細については、WordPressにカスタムダッシュボードウィジェットを追加する方法に関するチュートリアルをご覧ください。
5. WordPressでデフォルトのGravatarを変更する
ブログのデフォルトのミステリーマンアバターを見たことがありますか?独自のブランドカスタムアバターに簡単に置き換えることができます。
デフォルトのアバターとして使用したい画像をアップロードし、このコードをfunctionsファイルまたはWPCodeプラグインに追加するだけです。
function wpb_custom_default_gravatar( $avatar_defaults ) {
$myavatar = 'https://example.com/wp-content/uploads/2022/10/dummygravatar.png';
$avatar_defaults[$myavatar] = 'Default Gravatar';
return $avatar_defaults;
}
add_filter( 'avatar_defaults', 'wpb_custom_default_gravatar' );
これで、Settings » Discussionページに移動し、デフォルトのアバターを選択できます。

詳細な手順については、WordPressでデフォルトのGravatarを変更する方法に関するガイドを参照してください。
6. WordPressフッターの動的な著作権日付
テーマのフッターテンプレートを編集することで、著作権日付を簡単に追加できます。ただし、サイトがいつ開始したかは表示されず、翌年も自動的に変更されません。
このコードは、WordPressフッターに動的な著作権日付を追加できます。
function wpb_copyright() {
global $wpdb;
$copyright_dates = $wpdb->get_results("
SELECT
YEAR(min(post_date_gmt)) AS firstdate,
YEAR(max(post_date_gmt)) AS lastdate
FROM
$wpdb->posts
WHERE
post_status = 'publish'
");
$output = '';
if($copyright_dates) {
$copyright = "© " . $copyright_dates[0]->firstdate;
if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {
$copyright .= '-' . $copyright_dates[0]->lastdate;
}
$output = $copyright;
}
return $output;
}
この関数を追加した後、footer.php ファイルを開き、動的な著作権日付を表示したい場所に以下のコードを追加する必要があります。
<?php echo wpb_copyright(); ?>
この関数は、最初の投稿の日付と最後の投稿の日付を探します。次に、関数を呼び出す場所で年を返します。
ヒント: WPCode プラグインを使用している場合は、2 つのコードスニペットを組み合わせることができます。その後、スニペット設定の「挿入」セクションで「サイト全体フッター」の場所を選択します。これにより、テーマの footer.php ファイルを編集せずに、フッターに著作権の日付が自動的に表示されます。

詳細については、WordPressに動的な著作権日付を追加する方法に関するガイドをご覧ください。
7. WordPressで背景色をランダムに変更する
WordPressブログを訪問ごと、ページリロードごとにランダムに背景色を変更したいですか?簡単な方法はこちらです。
まず、このコードをテーマのfunctionsファイルまたはWPCodeプラグインに追加します。
function wpb_bg() {
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
$color ='#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].
$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
echo $color;
}
次に、テーマの header.php ファイルを編集する必要があります。<body> タグを見つけて、この行に置き換えます。
<body <?php body_class(); ?> style="background-color:<?php wpb_bg();?>">
これで変更を保存し、ウェブサイトにアクセスしてこのコードが機能していることを確認できます。

WordPressで背景色をランダムに変更する方法に関するチュートリアルで、詳細と代替方法をご覧ください。WordPressで背景色をランダムに変更する方法。
8. WordPressのURLを更新する
あなたのWordPressログインページが繰り返しリフレッシュされるか、管理画面にアクセスできない場合は、WordPressのURLを更新する必要があります。
これを行う1つの方法は、wp-config.phpファイルを使用することです。ただし、そうすると、設定ページで正しいアドレスを設定できなくなります。WordPressのURLとサイトのURLフィールドはロックされ、編集できなくなります。
代わりに、このコードをfunctionsファイルに追加するだけで修正できます。
update_option( 'siteurl', 'https://example.com' );
update_option( 'home', 'https://example.com' );
example.com をあなたのドメイン名に置き換えるのを忘れないでください。
ログインしたら、WordPress管理エリアの「設定」ページに移動してURLを設定できます。
その後、functionsファイルまたはWPCodeに追加したコードを削除する必要があります。そうしないと、サイトにアクセスされるたびにそれらのURLが更新され続けます。
9. WordPressで追加の画像サイズを追加する
WordPressは画像をアップロードすると、いくつかの画像サイズを自動的に生成します。テーマで使用するために、追加の画像サイズを作成することもできます。
このコードをテーマのfunctions.phpファイルまたはWPCodeスニペットとして追加するだけです。
add_image_size( 'sidebar-thumb', 120, 120, true ); // Hard Crop Mode
add_image_size( 'homepage-thumb', 220, 180 ); // Soft Crop Mode
add_image_size( 'singlepost-thumb', 590, 9999 ); // Unlimited Height Mode
このコードは、異なるサイズの3つの新しい画像サイズを作成します。要件に合わせてコードを自由に調整してください。
このコードを使用して、テーマ内の任意の場所に画像サイズを表示できます。
<?php the_post_thumbnail( 'homepage-thumb' ); ?>
詳細な手順については、WordPressで追加の画像サイズを作成する方法に関するガイドをご覧ください。
10. テーマに新しいナビゲーションメニューを追加する
WordPressでは、テーマ開発者がナビゲーションメニューを定義し、それを表示することができます。
このコードをテーマのfunctionsファイルに追加するか、新しいWPCodeスニペットとして追加して、テーマに新しいメニュー場所を定義できます。
function wpb_custom_new_menu() {
register_nav_menu('my-custom-menu',__( 'My Custom Menu' ));
}
add_action( 'init', 'wpb_custom_new_menu' );
WordPressダッシュボードの 外観 » メニュー に移動すると、テーマの場所のオプションとして「カスタムメニュー」が表示されます。

注意: このコードは、フルサイト編集機能を備えたブロックテーマでも機能します。追加すると、外観の下にメニュー画面が有効になります。
次に、ナビゲーションメニューを表示したいテーマにこのコードを追加する必要があります。
<?php
wp_nav_menu( array(
'theme_location' => 'my-custom-menu',
'container_class' => 'custom-menu-class' ) );
?>
詳細な手順については、WordPressテーマにカスタムナビゲーションメニューを追加する方法に関するガイドを参照してください。
11. 著者プロフィールフィールドを追加する
WordPressで著者プロフィールにカスタムフィールドを追加したいですか?functionsファイルにこのコードを追加するか、新しいWPCodeスニペットとして簡単に追加できます。
function wpb_new_contactmethods( $contactmethods ) {
// Add Twitter
$contactmethods['twitter'] = 'Twitter';
//add Facebook
$contactmethods['facebook'] = 'Facebook';
return $contactmethods;
}
add_filter('user_contactmethods','wpb_new_contactmethods',10,1);
このコードは、WordPressのユーザープロファイルにTwitterおよびFacebookフィールドを追加します。

これらのフィールドは、以下のように著者テンプレートに表示できます。
<?php echo get_the_author_meta('twitter') ?>
WordPressの登録に追加のユーザープロファイルフィールドを追加する方法に関するガイドも参照してください。
14. WordPressテーマにウィジェット対応エリアまたはサイドバーを追加する
これは最もよく使用されるコードスニペットの1つであり、多くの開発者はすでにWordPressテーマにウィジェット対応エリアまたはサイドバーを追加する方法を知っています。しかし、知らない人のために、このリストに載せる価値があります。
以下のコードをfunctions.phpファイルに貼り付けるか、新しいWPCodeスニペットとして追加できます。
// Register Sidebars
function custom_sidebars() {
$args = array(
'id' => 'custom_sidebar',
'name' => __( 'Custom Widget Area', 'text_domain' ),
'description' => __( 'A custom widget area', 'text_domain' ),
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
);
register_sidebar( $args );
}
add_action( 'widgets_init', 'custom_sidebars' );
注意: このコードは、フルサイト編集機能を備えたブロックテーマでも機能します。追加すると、[外観] の下に [ウィジェット] 画面が有効になります。
これで、外観 » ウィジェット ページにアクセスすると、新しいカスタムウィジェットエリアが表示されます。

このサイドバーまたはウィジェット対応エリアをウェブサイトに表示するには、表示したいテンプレートに次のコードを追加する必要があります。
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('custom_sidebar') ) : ?>
<!–Default sidebar info goes here–>
<?php endif; ?>
詳細については、WordPressで動的なウィジェット対応エリアとサイドバーを追加する方法に関するガイドをご覧ください。
13. RSSフィードのフッターを操作する
各投稿の下にRSSフィードに広告を追加するブログを見たことがありますか?簡単な関数で簡単に実現できます。以下のコードを貼り付けるだけです。
function wpbeginner_postrss($content) {
if(is_feed()){
$content = 'This post was written by Syed Balkhi '.$content.'Check out WPBeginner';
}
return $content;
}
add_filter('the_excerpt_rss', 'wpbeginner_postrss');
add_filter('the_content', 'wpbeginner_postrss');
詳細については、RSSフィードにコンテンツを追加し、完全に操作する方法に関するガイドをご覧ください。
14. RSSフィードにアイキャッチ画像を追加する
アイキャッチ画像またはサムネイル画像は、通常、サイトのデザイン内にのみ表示されます。次のコードを使用すると、その機能を RSS フィードに簡単に拡張できます。
function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '<p>' . get_the_post_thumbnail($post->ID) .
'</p>' . get_the_content();
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');
WordPress RSSフィードに投稿のサムネイルを追加する方法に関するガイドをご覧ください。
15. WordPressでログインエラーを非表示にする
ハッカーはログインエラーを利用して、ユーザー名またはパスワードが間違っているかどうかを推測できます。WordPressでログインエラーを非表示にすることで、ログインエリアとWordPressウェブサイトをより安全にできます。
次のコードをテーマの functions ファイルに追加するか、新しい WPCode スニペットとして追加するだけです。
function no_wordpress_errors(){
return 'Something is wrong!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );
これで、ユーザーが間違ったユーザー名またはパスワードを入力すると、一般的なメッセージが表示されます。

詳細については、WordPressのエラーメッセージでログインヒントを無効にする方法に関するチュートリアルをご覧ください。
16. WordPressでメールによるログインを無効にする
WordPress では、ユーザー名またはメールアドレスでログインできます。このコードを functions ファイルに追加するか、新しい WPCode スニペットとして追加することで、WordPress でメールによるログインを簡単に無効にできます。
remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );
詳細については、WordPressでメールアドレスでのログイン機能を無効にする方法に関するガイドをご覧ください。
17. WordPressで検索機能を無効にする
WordPressサイトの検索機能を無効にしたい場合は、このコードをfunctionsファイルまたは新しいWPCodeスニペットに追加するだけです。
function wpb_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
if ( $error == true )
$query->is_404 = true;
}}
このコードは、検索クエリを変更し、検索結果の代わりに404エラーを返すことで、単純に検索機能を無効にします。
詳細については、WordPressの検索機能を無効にする方法に関するチュートリアルをご覧ください。
プロのヒント: WordPressの検索を諦める代わりに、SearchWPを試すことをお勧めします。これは市場で最高のWordPress検索プラグインであり、ウェブサイトに強力でカスタマイズ可能な検索機能を追加できます。
18. RSSフィードの投稿を遅延させる
文法的な誤りやスペルミスのある記事を公開することがあります。
ミスは公開され、RSSフィード購読者に配信されます。WordPressブログにメール購読がある場合、それらの購読者も通知を受け取ります。
このコードをテーマのfunctionsファイルに追加するか、新しいWPCodeスニペットとして追加するだけで、RSSフィードでの投稿を遅延させることができます。
function publish_later_on_feed($where) {
global $wpdb;
if ( is_feed() ) {
// timestamp in WP-format
$now = gmdate('Y-m-d H:i:s');
// value for wait; + device
$wait = '10'; // integer
// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
$device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
// add SQL-sytax to default $where
$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
}
return $where;
}
add_filter('posts_where', 'publish_later_on_feed');
このコードでは、10分を遅延時間($wait)として使用しました。お好きな分数に変更してください。
プラグインの方法と詳細については、WordPress RSSフィードに投稿が表示されるのを遅延させる方法に関する詳細ガイドをご覧ください。
19. WordPress で抜粋の「続きを読む」テキストを変更する
投稿に抜粋の後に表示されるテキストを変更しますか?このコードをテーマのfunctionsファイルに追加するか、新しいWPCodeスニペットとして追加してください。
function modify_read_more_link() {
return '<a class="more-link" href="' . get_permalink() . '">Your Read More Link Text</a>';
}
add_filter( 'the_content_more_link', 'modify_read_more_link' );
20. WordPressでRSSフィードを無効にする
すべてのウェブサイトにRSSフィードが必要なわけではありません。WordPressサイトでRSSフィードを無効にしたい場合は、このコードをテーマのfunctionsファイルに追加するか、新しいWPCodeスニペットとして追加してください。
function new_excerpt_more($more) {
global $post;
return '<a class="moretag"
href="'. get_permalink($post->ID) . '">Your Read More Link Text</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');
プラグイン方式の詳細については、WordPress で RSS フィードを無効にする方法に関するガイドをご覧ください。
21. WordPressで抜粋の長さを変更する
WordPressでは、抜粋の長さを55語に制限しています。これを変更する必要がある場合は、このコードをfunctionsファイルに追加するか、新しいWPCodeスニペットとして追加できます。
function new_excerpt_length($length) {
return 100;
}
add_filter('excerpt_length', 'new_excerpt_length');
抜粋に表示したい単語数に100を変更するだけです。
代替方法については、コーディング不要でWordPressの抜粋をカスタマイズする方法に関するガイドをご覧ください。
22. WordPressに管理者ユーザーを追加する
WordPressのパスワードとメールを忘れた場合は、テーマのfunctionsファイルにこのコードを追加して管理者ユーザーを追加できます。これには、FTPクライアントを使用します。
function wpb_admin_account(){
$user = 'Username';
$pass = 'Password';
$email = 'email@domain.com';
if ( !username_exists( $user ) && !email_exists( $email ) ) {
$user_id = wp_create_user( $user, $pass, $email );
$user = new WP_User( $user_id );
$user->set_role( 'administrator' );
} }
add_action('init','wpb_admin_account');
ユーザー名、パスワード、メールアドレスのフィールドに入力することを忘れないでください。
重要: WordPressサイトにログインしたら、functionsファイルからコードを削除することを忘れないでください。
このトピックの詳細については、FTP を使用して WordPress に管理者ユーザーを追加する方法 に関するチュートリアルをご覧ください。
23. ログインページで言語スイッチャーを無効にする
多言語ウェブサイトを実行している場合、WordPressはログインページに言語セレクターを表示します。次のコードをfunctions.phpファイルに追加するか、新しいWPCodeスニペットとして追加することで、簡単に無効にできます。
add_filter( 'login_display_language_dropdown', '__return_false' );
24. WordPressの登録ユーザー総数を表示する
WordPress サイトに登録ユーザーの総数を表示したいですか?このコードをテーマの functions ファイルに追加するか、新しい WPCode スニペットとして追加するだけです。
function wpb_user_count() {
$usercount = count_users();
$result = $usercount['total_users'];
return $result;
}
// Creating a shortcode to display user count
add_shortcode('user_count', 'wpb_user_count');
このコードは、サイトに登録されているユーザーの総数を表示できるショートコードを作成します。
これで、総ユーザー数を表示したい投稿またはページに、ショートコード[user_count]を追加するだけです。
詳細とプラグインの方法については、WordPressで登録ユーザーの総数を表示する方法に関するチュートリアルをご覧ください。
25. RSSフィードから特定のカテゴリを除外する
WordPressのRSSフィードから特定のカテゴリを除外したいですか?このコードをテーマのfunctionsファイルに追加するか、新しいWPCodeスニペットとして追加できます。
function exclude_category($query) {
if ( $query->is_feed ) {
$query->set('cat', '-5, -2, -3');
}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');
26. WordPressコメントのURLリンクを無効にする
デフォルトでは、WordPressはコメント内のURLをクリック可能なリンクに変換します。
次のコードをfunctionsファイルに追加するか、新しいWPCodeスニペットとして追加することで、これを停止できます。
remove_filter( 'comment_text', 'make_clickable', 9 );
詳細については、WordPressのコメントでURLの自動リンクを無効にする方法に関する記事を参照してください。
27. WordPress投稿に奇数・偶数CSSクラスを追加する
WordPressのテーマで、WordPressコメントに奇数または偶数のクラスが使用されているのを見たことがあるかもしれません。これにより、ユーザーはコメントの終わりと次のコメントの始まりを視覚的に把握しやすくなります。
WordPressの投稿にも同じテクニックを使用できます。見た目が美しく、多くのコンテンツを含むページをユーザーが素早くスキャンするのに役立ちます。
このコードをテーマのfunctionsファイルに追加するだけです。
function oddeven_post_class ( $classes ) {
global $current_class;
$classes[] = $current_class;
$current_class = ($current_class == 'odd') ? 'even' : 'odd';
return $classes;
}
add_filter ( 'post_class' , 'oddeven_post_class' );
global $current_class;
$current_class = 'odd';
このコードは、WordPress の投稿に奇数または偶数のクラスを追加するだけです。これで、カスタム CSS を追加して、それらを異なるスタイルで表示できます。
以下に、開始に役立つサンプルコードを示します。
.even {
background:#f0f8ff;
}
.odd {
background:#f4f4fb;
}
最終的な結果は次のようになります。

より詳細な手順が必要ですか?WordPressテーマに奇数/偶数クラスを追加する方法のチュートリアルをご覧ください。WordPressテーマの投稿に奇数/偶数クラスを追加する方法。
28. WordPressでアップロードできる追加ファイルタイプを追加する
デフォルトでは、WordPressは最も一般的に使用されるファイルタイプのいくつかをアップロードできます。ただし、他のファイルタイプを許可するように拡張できます。
このコードをテーマのfunctionsファイルに追加するだけです。
function my_myme_types($mime_types){
$mime_types['svg'] = 'image/svg+xml'; //Adding svg extension
$mime_types['psd'] = 'image/vnd.adobe.photoshop'; //Adding photoshop files
return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);
このコードを使用すると、SVGおよびPSDファイルをWordPressにアップロードできます。
許可したいファイルタイプの MIME タイプを見つけて、コードで使用する必要があります。
このトピックの詳細については、WordPressでアップロードできる追加ファイルタイプを追加する方法に関するチュートリアルをご覧ください。
29. WordPressメールの送信者名を変更する
WordPressはデフォルトで、送信メールを送信するために存在しないメールアドレス(wordpress@yourdomain.com)を使用します。
このメールアドレスは、メールサービスプロバイダーによってスパムとしてフラグが付けられる可能性があります。
この問題を解決する適切な方法は、WP Mail SMTPプラグインを使用することです。

メール配信の問題を修正し、WordPressメールを送信するための実際のメールアドレスを選択できるようにします。
詳細については、WordPressがメールを送信しない問題を修正する方法に関するガイドをご覧ください。
一方で、これを実際のメールアドレスにすぐに変更したい場合は、次のコードをfunctionsファイルに追加するか、新しいWPCodeスニペットとして追加できます。
// Function to change email address
function wpb_sender_email( $original_email_address ) {
return 'tim.smith@example.com';
}
// Function to change sender name
function wpb_sender_name( $original_email_from ) {
return 'Tim Smith';
}
// Hooking up our functions to WordPress filters
add_filter( 'wp_mail_from', 'wpb_sender_email' );
add_filter( 'wp_mail_from_name', 'wpb_sender_name' );
メールアドレスと名前を自分の情報に置き換えるのを忘れないでください。
この方法の問題は、WordPressがまだメールを送信するためにmail()関数を使用しており、そのようなメールはスパムフォルダに入る可能性が最も高いことです。
より良い代替案については、WordPressからの送信メールの送信者名を変更する方法に関するチュートリアルをご覧ください。WordPressからの送信メールの送信者名を変更する方法。
30. WordPress の投稿に著者情報ボックスを追加する
複数著者のサイトを運営しており、投稿の最後に著者紹介を表示したい場合は、この方法を試すことができます。
まず、このコードをfunctionsファイルに追加するか、新しいWPCodeスニペットとして追加します。
function wpb_author_info_box( $content ) {
global $post;
// Detect if it is a single post with a post author
if ( is_single() && isset( $post->post_author ) ) {
// Get author's display name
$display_name = get_the_author_meta( 'display_name', $post->post_author );
// If display name is not available then use nickname as display name
if ( empty( $display_name ) )
$display_name = get_the_author_meta( 'nickname', $post->post_author );
// Get author's biographical information or description
$user_description = get_the_author_meta( 'user_description', $post->post_author );
// Get author's website URL
$user_website = get_the_author_meta('url', $post->post_author);
// Get link to the author archive page
$user_posts = get_author_posts_url( get_the_author_meta( 'ID' , $post->post_author));
// Get User Gravatar
$user_gravatar = get_avatar( get_the_author_meta( 'ID' , $post->post_author) , 90 );
if ( ! empty( $display_name ) )
$author_details = '<p class="author_name">About ' . $display_name . '</p>';
if ( ! empty( $user_description ) )
// Author avatar and bio will be displayed if author has filled in description.
$author_details .= '<p class="author_details">' . $user_gravatar . nl2br( $user_description ). '</p>';
$author_details .= '<p class="author_links"><a href="'. $user_posts .'">View all posts by ' . $display_name . '</a>';
// Check if author has a website in their profile
if ( ! empty( $user_website ) ) {
// Display author website link
$author_details .= ' | <a href="' . $user_website .'" target="_blank" rel="nofollow noopener">Website</a></p>';
} else {
// if there is no author website then just close the paragraph
$author_details .= '</p>';
}
// Pass all this info to post content
$content = $content . '<footer class="author_bio_section" >' . $author_details . '</footer>';
}
return $content;
}
// Add our function to the post content filter
add_action( 'the_content', 'wpb_author_info_box' );
// Allow HTML in author bio section
remove_filter('pre_user_description', 'wp_filter_kses');
次に、見た目を良くするために、いくつかのカスタムCSSを追加する必要があります。
このサンプルCSSを開始点として使用できます。
.author_bio_section{
background: none repeat scroll 0 0 #F5F5F5;
padding: 15px;
border: 1px solid #ccc;
}
.author_name{
font-size:16px;
font-weight: bold;
}
.author_details img {
border: 1px solid #D8D8D8;
border-radius: 50%;
float: left;
margin: 0 10px 10px 0;
}
著者ボックスは以下のようになります。

プラグインの方法とより詳細な手順については、WordPressの投稿に著者情報ボックスを追加する方法に関する記事をご覧ください。
31. WordPressでXML-RPCを無効にする
XML-RPCは、サードパーティのアプリケーションがWordPressサイトとリモートで通信できるようにするメソッドです。これはセキュリティ上の問題を引き起こす可能性があり、ハッカーに悪用される可能性があります。
WordPressでXML-RPCを無効にするには、次のコードをfunctionsファイルに追加するか、新しいWPCodeスニペットとして追加します。
add_filter('xmlrpc_enabled', '__return_false');
詳細については、WordPressでXML-RPCを無効にする方法に関する記事をお読みください。
32.アイキャッチ画像を投稿に自動的にリンクする
WordPressテーマがアイキャッチ画像を記事に自動的にリンクしない場合は、この方法を試すことができます。
このコードをテーマのfunctionsファイルに追加するか、新しいWPCodeスニペットとして追加するだけです。
function wpb_autolink_featured_images( $html, $post_id, $post_image_id ) {
If (! is_singular()) {
$html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_the_title( $post_id ) ) . '">' . $html . '</a>';
return $html;
} else {
return $html;
}
}
add_filter( 'post_thumbnail_html', 'wpb_autolink_featured_images', 10, 3 );
WordPressでアイキャッチ画像を投稿に自動的にリンクする方法に関する記事を読むことをお勧めします。
33. WordPressでブロックエディターを無効にする
WordPressは、コンテンツの作成やウェブサイトの編集のために、モダンで直感的なエディターを使用しています。このエディターは、一般的に使用されるコンテンツやレイアウト要素にブロックを使用するため、ブロックエディターと呼ばれています。
ただし、一部のユースケースでは古いクラシックエディターを使用する必要がある場合があります。
ブロックエディターを無効にする最も簡単な方法は、Classic Editorプラグインを使用することです。ただし、別のプラグインを使用したくない場合は、次のコードをfunctionsファイルに追加するか、新しいWPCodeスニペットとして追加してください。
add_filter('gutenberg_can_edit_post', '__return_false', 5);
add_filter('use_block_editor_for_post', '__return_false', 5);
詳細については、ブロックエディターを無効にしてクラシックエディターを使用する方法に関するチュートリアルをご覧ください。
34. WordPressでブロックウィジェットを無効にする
WordPress は、WordPress 5.8 でクラシックウィジェットからブロックウィジェットに切り替えました。新しいブロックウィジェットは使いやすく、クラシックウィジェットよりもデザインのコントロールが向上しています。
ただし、一部のユーザーは引き続きクラシックウィジェットを使用したい場合があります。その場合は、テーマのfunctionsファイルに次のコードを使用するか、新しいWPCodeスニペットとして追加できます。
add_filter( 'use_widgets_block_editor', '__return_false' );
詳細については、ウィジェットブロックを無効にする方法 (クラシックウィジェットを復元) に関する記事をご覧ください。
35. WordPressで最終更新日を表示する
WordPressブログで投稿やページを閲覧すると、WordPressテーマは投稿が公開された日付を表示します。これはほとんどのブログや静的ウェブサイトでは問題ありません。
しかし、WordPressは古い記事が定期的に更新されるウェブサイトでも使用されています。これらの公開物では、投稿が最後に変更された日時を表示することが不可欠です。

テーマのfunctionsファイルに次のコードを記述するか、新しいWPCodeスニペットとして追加すると、最終更新日を表示できます。
$u_time = get_the_time( 'U' );
$u_modified_time = get_the_modified_time( 'U' );
// Only display modified date if 24hrs have passed since the post was published.
if ( $u_modified_time >= $u_time + 86400 ) {
$updated_date = get_the_modified_time( 'F jS, Y' );
$updated_time = get_the_modified_time( 'h:i a' );
$updated = '<p class="last-updated">';
$updated .= sprintf(
// Translators: Placeholders get replaced with the date and time when the post was modified.
esc_html__( 'Last updated on %1$s at %2$s' ),
$updated_date,
$updated_time
);
$updated .= '</p>';
echo wp_kses_post( $updated );
}
代替方法や詳細については、WordPressで最終更新日を表示する方法に関するガイドをご覧ください。
17. アップロードに小文字のファイル名を使用する
複数著者のウェブサイトを運営している場合、著者は大文字と小文字でファイル名をアップロードする可能性があります。
以下のコードを追加すると、すべてのファイル名が小文字になります。
add_filter( 'sanitize_file_name', 'mb_strtolower' );
注意: このコードは、既存のアップロードのファイル名を変更しません。代替方法については、WordPressで画像とメディアファイルをリネームする方法のチュートリアルを参照してください。
37. WordPress 管理バーをフロントエンドで無効にする
デフォルトでは、ログインユーザーがあなたのウェブサイトを表示しているとき、WordPressは管理バーを上部に表示します。
サイト管理者を Except するすべてのユーザーに対して管理バーを無効にすることができます。次のコードをfunctionsファイルに追加するか、新しいWPCodeスニペットとして追加してください。
/* Disable WordPress Admin Bar for all users */
add_filter( 'show_admin_bar', '__return_false' );
管理者以外のすべてのユーザーに対してWordPress管理バーを無効にする方法については、WordPress管理バーをすべてのユーザーに対して無効にする方法に関するガイドをご覧ください。
38. 管理エリアの「こんにちは、管理者」テキストを変更する
WordPressのダッシュボードには、「こんにちは、管理者」という挨拶が表示されます。「管理者」はログイン中のユーザー名に置き換えられます。

functionsファイルに以下のコードを追加するか、新しいWPCodeスニペットとして追加することで、デフォルトの挨拶を自分のものに変更できます。
function wpcode_snippet_replace_howdy( $wp_admin_bar ) {
// Edit the line below to set what you want the admin bar to display intead of "Howdy,".
$new_howdy = 'Welcome,';
$my_account = $wp_admin_bar->get_node( 'my-account' );
$wp_admin_bar->add_node(
array(
'id' => 'my-account',
'title' => str_replace( 'Howdy,', $new_howdy, $my_account->title ),
)
);
}
add_filter( 'admin_bar_menu', 'wpcode_snippet_replace_howdy', 25 );
詳細については、WordPressで「こんにちは管理者」メッセージを変更または削除する方法に関する記事をご覧ください。
39. ブロックエディターでのコード編集を無効にする
ブロックエディターでは、コードエディターに切り替えることができます。手動でHTMLコードを追加する必要がある場合に便利です。
ただし、この機能をサイト管理者に限定しておきたい場合もあります。
これを実現するには、次のコードをfunctionsファイルに追加するか、WPCodeスニペットとして追加できます。
add_filter( 'block_editor_settings_all', function ( $settings ) {
$settings['codeEditingEnabled'] = current_user_can( 'manage_options' );
return $settings;
} );
40. プラグイン/テーマファイルエディターを無効にする
WordPressには、プラグインファイルを編集できる組み込みエディタが付属しています。これは、プラグイン » プラグインファイルエディタページに移動すると表示されます。

同様に、WordPressには外観 » テーマファイルエディターでクラシックテーマ用のファイルエディターも含まれています。
注意: ブロックテーマを使用している場合、テーマファイルエディターは表示されません。

テーマやプラグインの変更には、これらのエディタの使用はお勧めしません。コードのわずかな間違いでも、ウェブサイトがすべてのユーザーにアクセスできなくなる可能性があります。
プラグイン/テーマエディターを無効にするには、次のコードをfunctionsファイルまたはWPCodeスニペットとして追加します。
// Disable the Plugin and Theme Editor
if ( ! defined( 'DISALLOW_FILE_EDIT' ) ) {
define( 'DISALLOW_FILE_EDIT', true );
}
詳細については、WordPress のテーマ/プラグインエディターを無効にする方法に関するチュートリアルをご覧ください。WordPress でプラグイン/テーマエディターを無効にする方法。
41.新規ユーザー通知メールを無効にする
デフォルトでは、WordPressは新しいユーザーがあなたのWordPressウェブサイトに参加したときにメール通知を送信します。
WordPress会員制ウェブサイトを運営している場合や、ユーザーにサインアップを要求する場合は、ユーザーがあなたのウェブサイトに参加するたびに通知を受け取ります。
これらの通知をオフにするには、次のコードを functions ファイルに追加するか、新しい WPCode スニペットとして追加します。
function wpcode_send_new_user_notifications( $user_id, $notify = 'user' ) {
if ( empty( $notify ) || 'admin' === $notify ) {
return;
} elseif ( 'both' === $notify ) {
// Send new users the email but not the admin.
$notify = 'user';
}
wp_send_new_user_notifications( $user_id, $notify );
}
add_action(
'init',
function () {
// Disable default email notifications.
remove_action( 'register_new_user', 'wp_send_new_user_notifications' );
remove_action( 'edit_user_created_user', 'wp_send_new_user_notifications' );
// Replace with custom function that only sends to user.
add_action( 'register_new_user', 'wpcode_send_new_user_notifications' );
add_action( 'edit_user_created_user', 'wpcode_send_new_user_notifications', 10, 2 );
}
);
詳細については、WordPressで新規ユーザーのメール通知を無効にする方法に関するチュートリアルをご覧ください。
42. 自動更新メール通知を無効にする
場合によっては、WordPressがセキュリティおよびメンテナンスのアップデートを自動的にインストールしたり、重大な脆弱性のあるプラグインを更新したりすることがあります。
更新ごとに自動更新メール通知を送信します。複数のWordPressウェブサイトを管理している場合、そのようなメールが複数届く可能性があります。
これらのメール通知をオフにするには、このコードをfunctionsファイルに追加するか、新しいWPCodeスニペットとして追加できます。
/ Disable auto-update emails.
add_filter( 'auto_core_update_send_email', '__return_false' );
// Disable auto-update emails for plugins.
add_filter( 'auto_plugin_update_send_email', '__return_false' );
// Disable auto-update emails for themes.
add_filter( 'auto_theme_update_send_email', '__return_false' );
詳細については、WordPressで自動更新メールを無効にする方法に関する記事をご覧ください。WordPressで自動更新メールを無効にする方法。
43.投稿を簡単に複製するリンクを追加する
公開済みの投稿に触れることなく、投稿のすべてのコンテンツをすばやくコピーして編集する簡単な方法を望んだことはありませんか?
以下のコードスニペットは、投稿とそのすべてのコンテンツを簡単に複製するオプションを追加します。
// Add duplicate button to post/page list of actions.
add_filter( 'post_row_actions', 'wpcode_snippet_duplicate_post_link', 10, 2 );
add_filter( 'page_row_actions', 'wpcode_snippet_duplicate_post_link', 10, 2 );
// Let's make sure the function doesn't already exist.
if ( ! function_exists( 'wpcode_snippet_duplicate_post_link' ) ) {
/**
* @param array $actions The actions added as links to the admin.
* @param WP_Post $post The post object.
*
* @return array
*/
function wpcode_snippet_duplicate_post_link( $actions, $post ) {
// Don't add action if the current user can't create posts of this post type.
$post_type_object = get_post_type_object( $post->post_type );
if ( null === $post_type_object || ! current_user_can( $post_type_object->cap->create_posts ) ) {
return $actions;
}
$url = wp_nonce_url(
add_query_arg(
array(
'action' => 'wpcode_snippet_duplicate_post',
'post_id' => $post->ID,
),
'admin.php'
),
'wpcode_duplicate_post_' . $post->ID,
'wpcode_duplicate_nonce'
);
$actions['wpcode_duplicate'] = '<a href="' . $url . '" title="Duplicate item" rel="permalink">Duplicate</a>';
return $actions;
}
}
/**
* Handle the custom action when clicking the button we added above.
*/
add_action( 'admin_action_wpcode_snippet_duplicate_post', function () {
if ( empty( $_GET['post_id'] ) ) {
wp_die( 'No post id set for the duplicate action.' );
}
$post_id = absint( $_GET['post_id'] );
// Check the nonce specific to the post we are duplicating.
if ( ! isset( $_GET['wpcode_duplicate_nonce'] ) || ! wp_verify_nonce( $_GET['wpcode_duplicate_nonce'], 'wpcode_duplicate_post_' . $post_id ) ) {
// Display a message if the nonce is invalid, may it expired.
wp_die( 'The link you followed has expired, please try again.' );
}
// Load the post we want to duplicate.
$post = get_post( $post_id );
// Create a new post data array from the post loaded.
if ( $post ) {
$current_user = wp_get_current_user();
$new_post = array(
'comment_status' => $post->comment_status,
'menu_order' => $post->menu_order,
'ping_status' => $post->ping_status,
'post_author' => $current_user->ID,
'post_content' => $post->post_content,
'post_excerpt' => $post->post_excerpt,
'post_name' => $post->post_name,
'post_parent' => $post->post_parent,
'post_password' => $post->post_password,
'post_status' => 'draft',
'post_title' => $post->post_title . ' (copy)',// Add "(copy)" to the title.
'post_type' => $post->post_type,
'to_ping' => $post->to_ping,
);
// Create the new post
$duplicate_id = wp_insert_post( $new_post );
// Copy the taxonomy terms.
$taxonomies = get_object_taxonomies( get_post_type( $post ) );
if ( $taxonomies ) {
foreach ( $taxonomies as $taxonomy ) {
$post_terms = wp_get_object_terms( $post_id, $taxonomy, array( 'fields' => 'slugs' ) );
wp_set_object_terms( $duplicate_id, $post_terms, $taxonomy );
}
}
// Copy all the custom fields.
$post_meta = get_post_meta( $post_id );
if ( $post_meta ) {
foreach ( $post_meta as $meta_key => $meta_values ) {
if ( '_wp_old_slug' === $meta_key ) { // skip old slug.
continue;
}
foreach ( $meta_values as $meta_value ) {
add_post_meta( $duplicate_id, $meta_key, $meta_value );
}
}
}
// Redirect to edit the new post.
wp_safe_redirect(
add_query_arg(
array(
'action' => 'edit',
'post' => $duplicate_id
),
admin_url( 'post.php' )
)
);
exit;
} else {
wp_die( 'Error loading post for duplication, please try again.' );
}
} );
コードを追加した後、投稿 » 全投稿画面に移動し、マウスを投稿タイトルに重ねてください。
オプションの下に新しい「複製」リンクが表示されます。

リンクをクリックすると、投稿のコピーがすべてのコンテンツとともに作成されます。その後、その下書きで作業できます。
完了したら、変更を元の公開済み投稿にコピー&ペーストし、コピーを削除できます。
プラグインの方法については、ワンクリックでWordPressのページまたは投稿を複製する方法に関する記事をご覧ください。
44. WordPress管理画面からウェルカムパネルを削除する
ようこそパネルはWordPress管理画面に表示されます。「画面オプション」ボタンをクリックすることで、簡単に非表示にしたり、削除したりできます。

ただし、ユーザーにとってよりクリーンなダッシュボードエクスペリエンスを実現するために作業している場合は、恒久的に非表示にしたい場合があります。
サイト上のすべてのユーザーに対して無効にするには、次のコードを追加します。
add_action(
'admin_init',
function () {
remove_action( 'welcome_panel', 'wp_welcome_panel' );
}
);
45. WordPress 管理画面に投稿のアイキャッチ画像列を追加する
デフォルトでは、WordPressはサイトを表示しているとき、または投稿やページを編集しているときにのみ、アイキャッチ画像を表示します。
以下のコードは、投稿 » 全投稿画面にアイキャッチ画像用の新しい列を追加します。
add_filter( 'manage_posts_columns', function ( $columns ) {
// You can change this to any other position by changing 'title' to the name of the column you want to put it after.
$move_after = 'title';
$move_after_key = array_search( $move_after, array_keys( $columns ), true );
$first_columns = array_slice( $columns, 0, $move_after_key + 1 );
$last_columns = array_slice( $columns, $move_after_key + 1 );
return array_merge(
$first_columns,
array(
'featured_image' => __( 'Featured Image' ),
),
$last_columns
);
} );
add_action( 'manage_posts_custom_column', function ( $column ) {
if ( 'featured_image' === $column ) {
the_post_thumbnail( array( 300, 80 ) );
}
} );
コードを追加すると、このようになります。

46. 管理者以外の全員からWordPress管理エリアをブロックする
一部のWordPressウェブサイトでは、ユーザーがアカウントを登録する必要がある場合があります。たとえば、WordPressの会員サイトやeコマースストアなどです。
これらのプラグインのほとんどは、ユーザーが管理画面にアクセスできないようにします。ただし、そのようなプラグインを使用していない場合は、管理者以外のすべてのユーザーが管理画面にアクセスできないようにするために、次のコードを追加できます。
add_action( 'admin_init', function() {
if ( ! current_user_can( 'administrator' ) ) {
wp_redirect( home_url() );
exit;
}
} );
他のユーザーロールを持つユーザーは引き続きアカウントにログインできますが、ログイン後はホームページにリダイレクトされます。
この記事が、WordPressのfunctions.phpファイルに関する新しい便利なトリックを学ぶのに役立ったことを願っています。また、スニペットを簡単に共有するためのWordPressでのコードの表示方法に関するガイドや、MacおよびWindows向けのおすすめのコードエディタもご覧ください。
この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterやFacebookでもフォローできます。


DANISH
such a great and useful tricks..
Marco
本当にありがとうございます!
Webtechideas
とても便利なトリックのリストです。プラグイン開発者とテーマ開発者の両方に役立ちます。
ahmed
#14では、 の代わりに ですか?
Mick O
役立つ記事をありがとうございます。大変感謝しております。Googleアナリティクス(#1)コードを追加するスニペットにPHP宣言が含まれている理由を説明していただけますか?既存のfunctions.phpファイルに既に定義されている場合、スニペットに マーカーを再度含める必要がありますか?functions.phpに他のカスタマイズを追加しようとしており、追跡が困難になっています。
編集スタッフ
これは、プレーンなHTMLのGoogleアナリティクスコードを貼り付けられるように、PHPタグを閉じているため、PHPを開くことを含んでいます。
管理者
ルーク・ギブソン
Copyrightの日付に関するものは、© 2006-とコピー&ペーストするだけで同じように機能するのに、少しやりすぎのように思えます。2006を希望する静的な開始日に置き換えるだけです。それとも何か見落としていますか?
編集スタッフ
はい、間違いなくできます。ただし、配布を目的としたテーマの一部としてリリースする場合、それはできません。
管理者
Zeeshan Arshad
素晴らしいです。テーマと学習は終わりましたが、まだ多くのことが残っていました。この記事は私の救世主となり、もちろん多くのことを学びました。
幸運を祈ります!
DesignSkew
「投稿者プロフィールフィールドを追加」で、エコーするために言及された関数が機能していません。
編集スタッフ
curauthは、author.phpファイルにある場合にのみ機能します。
管理者
Mark
素晴らしいツールのセットです。ゲスト投稿者機能をすぐにコピーし、現在使用している不格好なプラグインを無効にします。エディターで作業中のアイテムの投稿IDを提供する機能はありますか?現在の投稿のメディア添付ファイルを自動入力しようとしていますが、カスタムメタボックスでは機能しましたが、thickboxでは機能しませんでした。thickboxは、現在の投稿の添付ファイルだけを求めているのに、すべての投稿のすべてのメディアファイルを返します。
mommyblogger
素晴らしいWordPressのヒントをありがとうございます!追加のヒントを教えていただけますか?
フッターの個々のホームページ投稿に表示されるタグ/カテゴリの数を制限することで、タグ/カテゴリが別の行に折り返されないようにしたいと考えています。「the_excerpt」でこれが可能でしょうか?また、抜粋を「…続きを読む」リンクにし、文字数を制限したいです。追加が必要なコードは以下の通りです。
$tags_list = get_the_tag_list( ”, __( ‘, ‘, ‘mummyblog’ ) ); if ( $tags_list ): ?> <li> <?php printf( __( ‘<span class=”%1$s”>Tagged</span> %2$s’, ‘mummyblog’ ), ‘entry-utility-prep entry-utility-prep-tag-links’, $tags_list ); ?> </li> <?php endif; // End if $tags_list ?>
ありがとうございます!
SteveEBoy
下記の他の皆さんが言っているように、素晴らしすぎます。初心者には非常に役立ち、学習にも非常に役立ちます。全体的に素晴らしいサイトです。ありがとうございます。
LambrosPower
読んだ中で最高のチュートリアルの1つです。多くの重要なトピックが指摘されており、WordPressカスタムデザインを始めたばかりなので、ほとんど知りませんでした。
シャオジュリ
この記事は無限に役立ちます。ブックマークして、テーマを更新したり質問に答えようとしたりする際に頻繁に参照しています。素晴らしい仕事です!
モハマド・ヤシン
皆さん、本当に素晴らしいです。ご存知ですか、wpbeginnerは私がブックマークメニューに専用フォルダを作成した最初のウェブサイトです。wp初心者には良すぎます。あなたの名前はあなたの性格にぴったりです。笑。いつかあなたのために何か特別なことをしなければなりません。インシャアッラー。
私が直面している唯一の問題は、サムネイル付きの関連記事です。あなたのコーダーは機能していません。どうすればいいかわかりません。とにかく、素晴らしい仕事を続けてください。wpbeginnerというサイトが大好きです。
AA
素晴らしい投稿です!WordPressコーディングについてよくご存知のようですね。質問があるのですが、WordPressフィードRSSから日付と時刻のスタンプを削除するにはどうすればよいですか?どこを探してもこの情報が見つかりません。WordPressの「サイト」を構築しており、日付は必要ありません。投稿とページからはすでに削除しました。
事前に大変感謝いたします!
編集スタッフ
RSSフィードにとって日付はオプションではありません。投稿/記事が(逆時系列順に)整理される方法であるため、必須です。テンプレートから日付の表示を削除することはできますが、XMLから削除することはできません。
管理者
ミケーレ・ウェルチ
Awesome post! Can’t wait to get started on the custom dashboard gravatar! Really exceptional post.
フィル
素晴らしい記事です。将来参照するためにブックマークしました。偶然wpbeginnerを見つけました。素晴らしいリソースですね、ありがとう!
wparena
すべての重要なものを一つの場所にまとめたのは本当に素晴らしいことです。
Mark Welburn
素晴らしい内容ですね。すでにブックマークしました。これらは一度以上役立つ場面がありそうです。ありがとう、マーク。
Connor Crosby
ちょっとしたメモですが、“end of excerpt”機能をコピー&ペーストする際は注意してください。1文字だったため、“…”の代わりに疑問符が表示されました。表示させるには“…”を書き直す必要がありました。
Martin
functions.php の使い方に関する、おそらく最高の投稿です。トリックと時間の節約に感謝します。
Huw Rowlands
すごい!本当に便利なものがたくさんありますね!
シェアしていただきありがとうございます。
マーク。
ヒント#3に、これが決してセキュリティではなく、人々がアップグレードすべきことの代替手段ではないという事実について、追記を提案したいと思います。
バージョン番号を非表示にすることは、HTMLドキュメントのHEADから不要なゴミを取り除いておきたい私たちのような人々にしかメリットがありません。それ以外では、それは何の役にも立たず、セキュリティと混同されるべきではありません。その点を説明するために、次のリンクを参照してください: http://dd32.id.au/2010/07/31/what-version-of-wordpress-is-behind-that-website/
ヘルピン
マルチサイトにあるすべてのテーマにこれらのコードを追加する必要がありますか?これらのコードが新しく追加されたテーマに自動的に適用される別の方法はありますか?
ありがとうございます!
編集スタッフ
これらはテーマのfunctions.phpファイルに追加する必要があります。したがって、すべてのネットワークで利用可能なテーマの場合は、一度だけ追加すれば済みます。各ネットワークサイトでカスタムテーマが使用されている場合は、各サイトに追加する必要があります。
管理者
Connor Crosby
とても良いリストです。functions.phpファイルでこれほど多くのことができるとは知りませんでした!
Andy
みんな最高です!!!素晴らしい投稿をありがとう。
よろしくお願いいたします。
Andy
ジェニファー・R
これらの役立つヒントをありがとうございます
マルセロ・トーレス
Wow very good! Thanks for sharing
tarpontech
これまで見つけた中で最高のWordPress記事です。
ddeja
これらのヒントをありがとう。いくつか新しいものがあります。なので、おそらくそれらを使ってみるつもりです :)
再度、ありがとうございます。
Chuck Reynolds
WP3の最終リリース以降、#11を更新する必要があります
add_theme_support( ‘menus’ );
編集スタッフ
Fixed thanks
管理者
William
有益な投稿をありがとうございます。サイドバーウィジェットの登録と抜粋モードのカスタマイズは便利になりそうです。Cheers
Kate Mag
非常に役立つヒントを共有してくれてありがとう。以前はいくつかのヒントを知りませんでしたが、今知りました!
Adam
さて、フッターの動的な著作権日付は、私がこれまで見つけたWordPressの最もクールなトリックの1つです。毎年それをしなければならないのはいつも嫌でしたが、もうそうではありません。それを共有してくれてありがとう!
Susan
こんにちは、デフォルトのグラバターを変更しようとしています。新しいグラバターを選択するオプションは表示されていますが、グラバターの私の写真の代わりに壊れた画像リンクが表示されています。パスが機能することはわかっています。ブラウザにプラグインすると画像が表示されるからです。また、.gif、.png、.jpgも試しましたが、すべて壊れています。また、テーマに合わせて48px X 48pxにサイズ設定されています。助けていただけますか?
Susan
ついにやりました!!ところで、素晴らしい投稿をありがとう。
Dave Z
ここにはいくつかの良い提案があります。それらのいくつかは実装を改善できる可能性があります。
例えば、#8 – Dynamic Copyright では、publish_page および publish_post アクション中に関数を呼び出す方が良いでしょう。そして、画面に年を表示する代わりに、その値(年の範囲)をオプションテーブルに保存できます(update_option() を使用)。テーマでは、次のようなことを行うことになります: echo get_option( ‘comicpress_copyright’, date( ‘Y’ ) );。これにより、現在の年がデフォルトの日付、またはプリセットされた範囲になります。ここでの利点は、ページがロードされるたびに年をデータベースに問い合わせる必要がなくなることです(get_option は他のオプションと一緒に自動的にロードするように設定できます)。WordPress はすでにデータベースクエリに負荷がかかっているため、回避できる場合は追加のクエリを追加する必要はありません!
#18 – ログインエラーの削除は、すべてのログインエラーを削除します。これは、無効なCookieに関する通知なども省略するため、問題がある可能性があります。より効果的なアプローチは、関数が以下を返すようにすることです。
str_replace( array( ‘無効なユーザー名’, ‘パスワードが間違っています’ ), ‘無効なユーザー名またはパスワード’, $str );
これにより、ユーザーは潜在的なエラーについて知らされますが、実際のエラーが発生したフィールドは不明瞭になります。注意すべき点は、ユーザー名が正しい場合、WordPressは後続のログイン試行でそのフィールドを自動入力することです。WordPressの動作を認識しているハッカーは、ユーザー名が有効であることを知ることになります。これを防ぐには、wp-login.phpファイルの該当するセクション(バージョン2.9.2では529〜530行目)をコメントアウトすることで可能です(理想的ではないことは承知していますが、その時点のコードにはフックがありません)。
良いヒントですね。Post Thumbnailsのデモンストレーションが好きです。
編集スタッフ
Thank you for your tips
Really appreciate it.
管理者
アブドラ
素晴らしい投稿です。非常に役立つ情報です。
wpbeginner、私たちをこの分野でよりプロフェッショナルにしてくれてありがとう。
敬具
モハンマド・アブドラ
朱
ヒントをありがとうございます。いくつか(カスタムGravatarなど)はすでに実装しましたが、うまくいっています!
Waheed Akhtar
素晴らしいリストです。将来の参照のためにブックマークしました。
Sahus Pilwal
非常に役立つヒントをありがとう。WordPressの非常に役立つトリック/ハック記事をもっと見つけられたらいいのに!
Cheers, Sahus
patrick andrew adams
まだWPに慣れていないので、いくつか試すのが待ちきれません。
graphicbeacon
#14に少し問題があります。ウィジェットのタイトルがh2タグで始まり、h3で終わっています。検証がうまくいかないと思います。
トッド・サントロ
ログインロゴを変更するためのものがここにあります:
function the_custom_login_logo() { echo '
h1 a { background-image:url(' . get_bloginfo('template_directory') . '/images/custom-login-logo.gif) !important; } '; }
add_action(‘login_head’, ‘the_custom_login_logo’);
トッド・サントロ
このコード内のシングルクォートを実際のシングルクォートに変更してください。WPはコメント内のシングルクォートを削除するため、PHPコードが実行されないようにします。さらに良いのは、それを再入力すれば問題なく動作するでしょう。
Cheers!
ケントン・ベル
このリストに本当に感銘を受けました。アップグレードで失われるテーマファイルをハッキングするよりも良い選択肢です。ありがとうございます。
ラオーニ
こんにちは、
更新情報です。項目4の「カスタムダッシュボードロゴを追加する」について、WordPress 3では「custom-logo.gif」は.png画像になりました。
素晴らしいコレクション!!!!
アンドリス
とても役立つ投稿でした。「4. カスタムダッシュボードロゴを追加する」を私のウェブサイトに実装しました。
トッド・サントロ
素晴らしい投稿です。これは私のWPツールボックスに今あります。テーマデザイナーが必要とするすべてが1つの記事にまとめられています。WPBeginnerありがとう!
ジェイク・ゴールドマン
Great tips. Got a kick out of seeing a few of mine in there.
lots of new tips coming soon in my next article!
編集スタッフ
Will keep my eyes open
管理者
Tony
やっと!コメント数が不正になる原因がわかりました!WPBeginnerさん、ありがとう!
DaveK
素晴らしいです。これらのいくつかを活用させていただきます。
サイトの皆さん、おめでとうございます。ますます発展していますね。いつもここで何か役立つものを見つけられます。
素晴らしい仕事を続けてください。