17 WordPressFunctions.phpファイルハック

公開: 2017-05-28

すべてのWordPressコアファイルの中で、 functions.phpほど用途が広いものはほとんどありません。 それを操作する方法を知っている場合、このファイルを使用すると、わずか数行のコードでサイトにあらゆる種類の機能を追加できます。

この記事では、WordPress関数ファイルについて知っておく必要のあるすべてのことと、それを有利に使用する方法について説明します。 それが何をするのか、なぜそれを使うべきなのか、そしていつ使わないのかについて議論します。 さらに、プラグインをインストールせずにサイトの機能を拡張するための17の便利なファイルハックを紹介します。

このショーを外出先で始めましょう!

WordPress関数ファイルの紹介

関数.phpファイルはWordPressのコアファイルの1つです。 言い換えれば、それはプラットフォーム全体に電力を供給するのに役立つものであり、サイトの多くの機能の背後にあります。

子テーマのfunctions.phpファイル。

また、 functions.phpファイルを、ダッシュボードへの新しいウィジェットの追加やインストール用のカスタム画像サイズなど、Webサイトに新しい機能を実装するための一時的な方法として使用することもできます。 これは、単純な機能または一時的な機能のためのWordPressプラグインの完全な代替手段です。

また、サイト全体に影響を与える「親」 functions.phpファイルがありますが、各テーマには独自の子バージョンが付属しています( style.cssファイルと同様)。 これにより、サイトにグローバルに影響を与えることなく、特定のテーマに対してのみ機能を効果的に実装できます。

あなたのWordPressFunctions.phpファイルのための17のファイルハック

前述したように、各テーマには独自のfunctions.phpファイルが付属しています。 自分の変更を大幅に変更する場合は、更新中に変更が消えないように子テーマを設定するのが最善の方法です。 また、問題が発生して変更をロールバックする必要がある場合に備えて、変更を加える前にサイトをバックアップすることもできます。

次に進むと、FTP(File Transfer Protocol)クライアント(FileZillaなど)を使用してfunctions.phpファイルにアクセスし、 wp-content / themes /ディレクトリに移動する必要があります。 中には、テーマごとにフォルダーがあり、そのすべてに独自のfunctions.phpファイルが含まれている必要があります。

Diviのfunctions.phpファイル。

それを右クリックして、[編集]というオプションを選択すると、デフォルトのテキストエディタが開きます。 それが邪魔にならないように、ビジネスに取り掛かりましょう!

1.新しい管理者ユーザーをWordPressに追加します

管理者アカウントからロックアウトされ、パスワードを変更したり、サイトにアクセスしたりできない場合があります。 この調整により、FTP経由でアクセスを回復する追加の方法が得られます。

これらすべてのハックとスニペットと同様に、次のコードをコピーして、テーマのfunctions.phpファイルの最後に貼り付け、変更を保存するだけです。

function wpb_admin_account(){
$user = 'username';
$pass = 'password';
$email = '[email protected]';
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');

ユーザー名、パスワード、メールアドレスが記載されている値を自分のものに置き換える必要があります。これで準備は完了です。

2.登録ユーザーの総数を表示します

サイトのユーザー数を世界に自慢したいと思ったことがある場合は、この調整により、フロントエンドに単純なカウントを追加できます。 このハックには、自慢する権利以外にも用途があります。 たとえば、強力なユーザーベースがあることを知っていれば、人々はあなたのサイトをより信頼することをいとわないかもしれません。 スニペットは次のとおりです。

function wpb_user_count() {
$usercount = count_users();
$result = $usercount['total_users'];
return $result;
}
add_shortcode('user_count', 'wpb_user_count');

[user_count]カスタムショートコードを実際に登録して、サイトに登録されているユーザーの総数を表示しているため、これは少し進んでいます。 これは複雑なトピックになる可能性がありますが、実装は簡単です。

3.ダッシュボードの「ウェルカムパネル」を削除します

ウェルカムパネルは、WordPressにログインするとすぐに表示されるダッシュボードのセクションであり、通常、開始するためのヒントとチェックリストがいくつか含まれています。 このコードスニペットを使用すると、完全に削除できます。

remove_action('welcome_panel', 'wp_welcome_panel');

確かに、ウェルカムパネルはまったく侵襲的ではありませんが、プラットフォームをしばらく使用していて、ヒントが不要になった場合は、少し古くなる可能性があります。 さらに、必要なのは1行のコードだけなので、このハッキングの欠点は文字通りありません。

4.WordPressのバージョン番号を非表示にする

ご存知かもしれませんが、使用しているテーマによっては、WordPressのバージョン番号がサイトのフッターに表示される傾向があります。 これは、このコードで簡単に削除できる小さな詳細です。

function wpb_remove_version() {
return '';
}
add_filter('the_generator', 'wpb_remove_version');

古いバージョンのWordPressを実行している場合(もちろん、そうすべきではありません)、この調整は、より魅力的なターゲットにするのに役立ちます。

5.ダッシュボードフッターを変更します

WordPressダッシュボードのフッターには、おそらく何らかのクレジット(通常はWordPress自体)が記載されたテキストが少し含まれています。 それはあなたが盲目になっているかもしれない何かですが、このハックあなたに簡単なハックであなたのサイトをカスタマイズしたりブランド化したりする良い機会を提供します。 対応するコードをチェックしてみましょう:

function remove_footer_admin () {
echo 'Hello world!';
}
add_filter('admin_footer_text', 'remove_footer_admin');

このハックでは、 Hello world!を置き換える必要があります。 含めたいリンクを含む、独自のテキスト。

6.ダッシュボードにシンプルなテキストウィジェットを追加します

ウェルカムウィジェットを削除してダッシュボードの一部のスペースを空けることにした場合は、それを独自のウィジェットに置き換えることをお勧めします。 このコードを使用すると、簡単なテキストウィジェットを設定できます。

add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');
function my_custom_dashboard_widgets() {
global $wp_meta_boxes;
wp_add_dashboard_widget('custom_widget', 'More Information', 'custom_dashboard_information');
}
function custom_dashboard_information() {
echo 'If you need help making changes to your site, you can always contact me via email at...';
}

このスニペットは、 custom_dashboard_information関数内のテキストを含む、詳細情報と呼ばれるウィジェットをダッシュ​​ボードに追加します。 この例では、ある種の連絡先ウィジェットを作成することを選択しました。これを使用して、クライアントWebサイトにホワイトラベルを付け、必要に応じて連絡を取り合うように通知できます。

7.インストールにカスタム画像サイズを追加する

WordPressを使用すると、アップロード後に画像のサイズを特定のサイズに変更でき、デフォルトでいくつかのプリセットが提供されます。 このコードを使用すると、新しいプリセットを追加して、カスタム寸法を設定する必要がなくなります。

add_image_size( 'sidebar-thumbnail', 120, 120 );

新しいサイズはいくつでも追加でき、サイト全体で使用する特定の解像度がある場合に特に便利です。

8.RSSフィードに注目の画像を追加します

多くの人はこれを知りませんが、WordPressはあなたのサイトのRSSフィードを自動的に生成します。 自分の画像を使用する場合は、投稿の注目画像を設定する必要があります。これは、次のコードで実行できます。

function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '

' . get_the_post_thumbnail($post->ID) .
'

' . get_the_content();
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');

注目の画像は、RSSフィードをより魅力的に見せるために大いに役立ちます。これは、クリックスルーに依存するあらゆるタイプのコンテンツにとって重要です。

9.RSSフィードからカテゴリを除外する

WordPress RSSフィードの機能の最も優れた点の1つは、それがいかにカスタマイズ可能かということです。 このコードを使用すると、フィードから特定のカテゴリを非表示にできるため、追加するコンテンツを選択できます。

function exclude_category($query) {
if ( $query->is_feed ) {
$query->set('cat', -2, -3');
}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');

WordPressは、上記のコードのID番号(つまり、 -2-3 )に従ってカテゴリを識別することに注意してください。 したがって、このハックを実装する前に、削除するカテゴリのIDを特定する必要があります。

10.RSSフィードを無効にする

これは優れたWordPress機能ですが、RSSの使用にまったく興味がない場合は、次のコードスニペットを使用してRSSを完全に無効にすることができます。

function fb_disable_feed() {
wp_die( __('Sorry, we don't use RSS!') );
}
add_action('do_feed', 'fb_disable_feed', 1);
add_action('do_feed_rdf', 'fb_disable_feed', 1);
add_action('do_feed_rss', 'fb_disable_feed', 1);
add_action('do_feed_rss2', 'fb_disable_feed', 1);
add_action('do_feed_atom', 'fb_disable_feed', 1);

フィードを無効にした後でフィードにアクセスしようとするユーザー向けの小さなメッセージがコードに含まれていることに気付くでしょう。 アクティブに保つことのデメリットはありませんが、使用しないことが確実な場合は、これを完全にオフにして、1〜2サイクル節約できる可能性があります。

11.WordPressログインエラーの詳細を非表示にする

詳細すぎるログインエラーは、サイトへのアクセスに必要な情報を望ましくないものに与える可能性があります。 このコードでは、WordPressはログインしようとしたときにエラーが発生した場所を指定しません。

function no_wordpress_errors(){
return 'Something is wrong!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );

このハックを使用することで、攻撃者がサイトにアクセスしようとするのが難しくなりますが、実際のユーザーはどこで間違いを犯したのかを問題なく把握できます。 ウィンウィン!

12.ユーザーに自分のユーザー名でログインを強制する

多くの人が同じ電子メールを使用してすべてのサービスにサインアップする傾向があります。つまり、攻撃者は自分の電子メールアドレスを知っているだけでアクセスを試みることができます。 このコードを使用すると、ユーザーにユーザー名のみを使用してログインするように強制します。

remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );

公平を期すために、ユーザー名も頻繁に再利用される傾向がありますが、この小さな調整は、セキュリティを向上させ、攻撃を最小限に抑えるのに役立ちます。

13.投稿の抜粋の長さを変更します

WordPressブログのインデックスには通常、投稿の簡単な抜粋が表示され、読者は自分が何を目的としているのかがわかります。 これらの抜粋のデフォルトの長さを変更したい場合は、ここで変更する機会があります。

functionnew_excerpt_length($length) {
return 75;
}
add_filter('excerpt_length', 'new_excerpt_length');

デフォルトの長さは55ですが、上記のコードでは、少し揺れる余地を与えるために75に上げました。

14.WordPressが必要なファイルタイプをアップロードできるようにします

デフォルトでは、WordPressでは、 .png.jpgなどの一般的なメディア形式を含む、非常に限られた範囲のファイルタイプのみをアップロードできます このコードを使用すると、インストールでより多くのタイプを許可するように強制できます。

function my_myme_types($mime_types){
$mime_types['svg'] = 'image/svg+xml';
return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);

たとえば、過去に説明したファイルタイプである.svgを取り上げます。 このスニペットを使用すると、プラグインを必要とせずにサポートを追加できます。

15.自動画像リンクを無効にする

箱から出して、WordPressは、フルバージョンを指すコンテンツに含める各画像へのリンクを追加します。 このコードを使用すると、次の機能が無効になります。

function wpb_imagelink_setup() {
$image_set = get_option( 'image_default_link_type' );
if ($image_set !== 'none') {
update_option('image_default_link_type', 'none');
}
}
add_action('admin_init', 'wpb_imagelink_setup', 10);

ただし、個々の画像を編集することでこの機能にアクセスできます。これにより、画像が自動的に機能しなくなります。

16.ウィジェット準備領域を追加します

WordPressには、ウィジェットに対応した複数の領域がすでに含まれていますが、 functions.phpの小さな魔法を使用して、いつでも新しい領域を追加できます。 以前のショートコードハックと同様に、ここで開発者の領域に入り始めています。 ただし、これは非常に役立つ可能性のある単純な実装です。

function custom_sidebars() {
	$args = array(
		'id'            => 'custom_sidebar',
		'name'          => __( 'Custom Widget', 'text_domain' ),
		'description'   => __( 'A custom widget, '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' );

このコードは単に新しいウィジェット領域を「登録」するだけであることに注意してください。 それぞれのファイルを編集して、フッターなどの特定のテーマセクションに対してそれを呼び出す必要があります。

17.WordPress検索機能を無効にします

ほとんどすべてのサイトには、ユーザーが自分の道を見つけるのに役立つ検索機能が必要です。 ただし、単一ページのサイトを構築する場合は、必要ない場合があります。 オフの場合にオフにできるコードは次のとおりです。

function fb_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query-&gt;is_search = false;
$query-&gt;query_vars[s] = false;
$query-&gt;query[s] = false;
// to error
if ( $error == true )
$query-&gt;is_404 = true;
}
}
add_action( 'parse_query', 'fb_filter_query' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );

この機能を無効にする前に、サイトのユーザビリティに大きな影響を与える可能性があるため、この機能が不要であることを100%確認する必要があります。 もちろん、いつでもコードを削除してサイトの検索を再開できますが、確信が持てない場合は、注意を怠ってオフにしないでください。

結論

Functions.phpファイルは、WordPressツールボックスで最も強力なアセットの1つです。 数行のコードであらゆる種類の機能を追加できるだけでなく、サイトが機能することも重要です(そこで何をしたかを参照してください)。

Diviユーザーの場合、 functions.phpファイルを使用すると、追加のプラグインを設定しなくても、サイトにいくつかの補完的な機能を追加できます。これは常にメリットです。

これらのWordPress関数のファイルハックについて質問がありますか? もしそうなら、下のコメントセクションで質問してください!

MchlSkhrv /shutterstock.comによる記事のサムネイル画像