WordPressのfunctions.phpファイルに触れる代わりに、コード格納用のプラグインを自作することもできます。
複雑そうに聞こえるかもしれませんが、実は意外と簡単です。
その仕組みは以下の通りです。
- ローカルコンピュータに、プラグイン用のフォルダを作成します。
- そのフォルダの中に1つの.phpファイルを作成し、好みのテキストエディターで編集します。
- そのファイルに、以下のコードテンプレートを(名前や説明などの情報を適宜変更して)追加します。
- functions.phpに利用したいコードをファイルに追加します。
<?php
/**
* Plugin Name: My Custom Code Snippets
* Description: コード格納用の自作プラグイン
* Author: あなたの名前
* Version: 1.0
*/
/* このコメントの下に最初のコードを追加し、コメントでその中身を説明 */
[CODE]
/* このコメントの下に2つ目のコードを追加 */
[CODE]
/* 必要であればそのまま続行 */
[CODE]
?>
あとは、WordPressにプラグインをインストールし、有効化するだけです。その方法を2つご紹介します。
- FTP/SFTPでサーバーに接続し、プラグインフォルダをwp-content/pluginsフォルダにアップロードしてください。その後、プラグイン一覧に移動し、プラグインを有効化してください。
- パソコンを使って、フォルダの.zipファイルを作成します。その後、「プラグイン」>「新規追加」で.zipファイルをアップロードして、他のプラグインと同じようにインストールします。
WordPressのfunctions.phpファイルにアクセスする方法(2種類)
WordPressのfunctions.phpファイルにアクセスし、編集する方法はいくつも考えられます。ここでは、どのホスト(サーバー/ホスティングサービス)でも使える、最も汎用性の高い方法を2つご紹介します。
- WordPress内蔵のテーマコードエディター
- SFTPと好みのコードエディター
1. WordPress内蔵のテーマコードエディター
WordPressのデフォルトでは、functions.phpファイルを含むテーマのすべてのコードをWordPress管理画面から編集できます。
- WordPress管理画面を開きます。
- 「外観」>「テーマファイルエディター」を開きます。
- 右側の「テーマファイル」一覧から、「テーマのための関数(functions.php)」ファイルを選択します。
- エディターを使って中身を編集します。
- 「ファイルを更新」ボタンをクリックし、変更を保存します。
とはいえ、セキュリティを高めるために、WordPress管理画面内でのファイル編集を無効にするという考え方もあります。それを選択するのであれば、次の方法でファイルを編集可能です。
2. SFTP+好みのコードエディター
WordPressのfunctions.phpファイルを編集する別の方法として、FTP/SFTPでサーバーに接続し、ファイルを編集することができます。
その方法は以下の通りです。
- FTPクライアントをまだダウンロードしていない場合はダウンロードします。ここではFileZilaを使用します。
- FTP認証情報を使用してサーバーに接続します。
- フォルダ構造を使って…/wp-content/themes/[有効なテーマ名]に移動します。
- functions.phpファイルを右クリックし「編集」を選択します。
これでファイルがローカルコンピューターにダウンロードされ、自動的にテキストエディターで開かれるはずです。そのまま、ファイルにコードを追加することができます。
終了したら、変更内容を保存して、ファイルを閉じます。
FileZillaのプロンプトで、編集したバージョンをサーバーに再びアップロードするかどうか尋ねられます。
WordPressのfunctions.phpファイルに追加したい便利なコード
WordPressのfunctions.phpファイルを編集する方法がわかったところで、サイトに追加できる便利なfunctions.phpコードをいくつかご紹介しましょう。
ブログ記事に最終更新日を表示する
デフォルトでは、ほとんどのテーマで、ブログ記事を公開した日付が表示されます。しかし、古いコンテンツを定期的に更新しリフレッシュしている場合には、最終「更新日」も表示するという手もあります(または、公開日を最終更新日に置き換える)。
これは、訪問者に対して、継続的にコンテンツを更新していることを知らせるだけでなく、コンテンツの鮮度をGoogleに示すことにもなります。
function show_last_updated( $content ) {
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
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');
$custom_content .= '<p class="last-updated-date">Recently updated on '. $updated_date . ' at '. $updated_time .'</p>';
}
$custom_content .= $content;
return $custom_content;
}
add_filter( 'the_content', 'show_last_updated' );
詳しくは、WordPressの最終更新日表示についてのこちらの記事をご覧ください。
特定のユーザーに対してWordPressのツールバーを無効化する
WordPressのデフォルトの設定では、ユーザー権限を使用してログインしているすべてのユーザーにツールバーが表示されます。とはいえ、WooCommerceストアの場合のように、独自のユーザー権限を使用する際には、必ずしもそうとは限りません。
これを変更したい場合は、functions.phpのコードを使用して、特定のユーザー権限に対してWordPressツールバーを非表示にすることができます。
この例では、authorというユーザー権限を持つユーザーに対して、管理ツールバーを非表示にします。
add_filter( 'show_admin_bar', function( $show ) {
if ( current_user_can( 'author' ) ) {
return false;
}
return $show;
} );