こんにちは、ニタです。
WordPressを利用したWebサイトを開発する際、既存テーマファイルをカスタマイズしたり、プラグインをインストールしていきます。
それでも対応できないものは、使用するテーマファイル内のfunctions.php
にコードを記述するなどして対応していきます。
今回は、その中でも需要度低めな?カスタマイズ方法をいくつかご紹介します。
generatorのmetaタグを削除
WordPressでは、headタグ内にgeneratorのmetaタグが挿入されます。
これはページ作成ツールの情報なのですが、あまり必要性がないのと、セキュリティ面を考慮しても削除したほうが良いです。
※バージョンを外部に晒すことになるので、WordPressをアップデートしていない場合、攻撃対象になるため。
利用中のテーマファイルにある、functions.phpに以下を追記すると、generatorのmetaタグが作成されません。
if(has_action('wp_head','wp_generator')) {
remove_action( 'wp_head', 'wp_generator' );
}
これだけでもページのソース上からは削除されますが、同時に生成されるRSSフィードなどにも生成ツール情報が書き込まれるので、そちらも削除します。
$actions = array( 'rss2_head', 'commentsrss2_head', 'rss_head', 'rdf_header',
'atom_head', 'comments_atom_head', 'opml_head', 'app_head' );
foreach ( $actions as $action ) {
if ( has_action( $action, 'the_generator' ) ) {
remove_action( $action, 'the_generator' );
}
}
WordPressからのメール送信でSMTPを利用する
WordPressには、wp_mail
というphpmailerを使用したメール送信関数がデフォルトで備わっています。
関数リファレンス/wp mail – WordPress Codex 日本語版
サイトポリシー上、SMTPを利用してメール送信する場合は、phpmailerの設定処理をカスタマイズして対応します。
こちらも、functions.phpに記述します。
send_smtp_email
という関数名は適宜変更しても構いません。
add_action('phpmailer_init','send_smtp_email');
function send_smtp_email( $phpmailer )
{
// SMTP有効設定
$phpmailer->isSMTP();
// メールサーバーのホスト名
$phpmailer->Host = "使用するSMTPサーバ名";
// SMTP認証の有無(true か false)
$phpmailer->SMTPAuth = true;
// SMTPポート番号(25,465,587など適宜)
$phpmailer->Port = "587";
// SMTP認証時のユーザー名
$phpmailer->Username = "ユーザー名";
// ユーザーのパスワード
$phpmailer->Password = "パスワード";
// SMTP暗号化方式(tls か ssl)
$phpmailer->SMTPSecure = "tls";
// 送信者メールアドレス
$phpmailer->From = "test@example.com";
// 送信者名
$phpmailer->FromName = "送信者名";
}
テーマ内でセッションを使う
基本的にWordPressのフロント側では、PHPのセッションは使用していません。
ページによってはセッションを利用したページ処理があると思います。
セッションを使う場合はこんな感じでfunctions.phpに記述します。
common_session_start
という関数名は適宜変更しても構いません。
add_action('init', 'common_session_start');
function common_session_start(){
if(!isset($_SESSION)){
session_start();
}
}
いかがでしたでしょうか。
ちょっとニッチなカスタマイズでしたが、ご利用いただければと思います。
それでは。