Category Archives ( 27 Posts)

メールアドレスでのログインを無効化

WordPress 4.5 からユーザー名だけではなく、メールアドレスによるログインが可能となりましたが、これを無効にしてしまいます。

function.phpに記載
remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );


無効化したので、ログインフォームのラベルを変更します。

function.phpに記載
function my_gettext_login( $translated_text, $text, $domain ) {
	if ( 'wp-login.php' === $GLOBALS['pagenow'] ) {
		if ( $domain == 'default' && $text === 'Username or Email Address' ) {
			$translated_text = __( 'Username' );
		}
	}
	return $translated_text;
}

add_filter( 'gettext', 'my_gettext_login', 20, 3 );


■参考にさせていただきました
https://xakuro.com/blog/wordpress/1287/

管理画面用のスタイルシートを読み込む

管理画面用にオリジナルのスタイルシートを読み込む方法です。

my_admin_style.cssをテーマフォルダに準備します。
function.phpに下記を追記します。
function my_admin_style(){
	wp_enqueue_style( 'my_admin_style', get_template_directory_uri().'/my_admin_style.css' );
}
add_action( 'admin_enqueue_scripts', 'my_admin_style' );

管理画面に表示される要素を非表示にする方法はいくつかありますが、単純にスタイルシートで非表示にしたい場合など、管理画面用のスタイルシートを準備しておくと便利です。
 

スタイルシートの使用例)

管理画面上部の「表示オプション」や「ヘルプ」タブを非表示にする
#contextual-help-link-wrap,#screen-options-link-wrap{
	display: none;
}

非公開固定ページ・投稿を直接表示した時の404.phpの内容を変更する

非公開に設定した投稿や固定ページを表示すると404.phpが表示されます。
他にも下書き投稿、予約投稿なども404.phpが表示されます。
404.phpで「投稿がありません」と表示されるのを、投稿のステータスに合わせて表示をカスタマイズしました。
READ MORE

会員のメールアドレス・パスワード変更時にユーザーに通知メールを送らない

会員サイト運営中に、何らかの事情でユーザーのメールアドレスやパスワードを変更する必要が出た時に、Wordpressがユーザー宛てに自動で送信する通知メールを停止する方法です。

function.phpに下記を記載します。

//メールアドレス変更時にメールを送信しない
add_filter( 'send_email_change_email', '__return_false' );
//パスワード変更時にメールを送信しない
add_filter( 'send_password_change_email', '__return_false' );
 

コメント通知のメール本文を変更する

コメントやトラックバックがついた時に送信されるメールの本文を変更します。
READ MORE

MYSQLよく使うメモ

文字列Aを文字列Bで置き換え

UPDATE table_name 
SET column=REPLACE(column, '検索文字列', '置換文字列');

TableAの値をTableBの値で書き換え

UPDATE TableA, TableB 
SET TableA.column = TableB.column 
WHERE TableA.column = TableB.column;

JOINしてWHEREしてUPDATE

UPDATE TableA a LEFT JOIN TableB b ON a.column = b.column 
SET a.column = "Hoge!" WHERE b.column = "hoge";

カラムを追加

ALTER TABLE table_name
ADD `new_column` text NOT NULL AFTER `before_column`,
ADD `new_column2` text NOT NULL AFTER `new_column`,
ADD `new_column3` text NOT NULL AFTER `new_column2`;

テーブルの列情報を調べる

DESCRIBE table_name;

テーブルのインデックス情報を調べる

SHOW INDEX FROM table_name;

WordPressからの通知メールの送信者名とアドレスを変更する



WordPressからはコメントが送信された時、パスワードが変更された時、更新された時など様々なタイミングで通知メールが届きます。
その通知メールの差出人名は全て「WordPress <wordpress@ドメイン名>」のようになっています。

この差出人名とメールアドレスを変更する方法です。
READ MORE

fputcsv関数の改行コード

CSV出力時に使うfputcsv関数の改行コードはOS に依存するので、Linuxサーバーでfputcsvを使うと改行コードがLFになる。

出力したCSVファイルをローカル(Windows)で開く時、ExcelやAccessではLFでも改行してくれるけど、
Windows標準のnotepadでは改行されない。(WindowsではCR+LF)

メモ帳にnotepad使わないから、すっかり改行コードについて見落としてた・・・・。
(一応ヘッダーには改行コードr\n"で入れてたのに)

fputcsv関数の改行コードについて、どうしたものかと調べていたら、
九州男児Webプログラマの備忘録」様に掲載されていた方法で上手くいきました。


$outputFile = 'data.csv';
$csv_data = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789')
);
//fputcsvでCSVファイル書き込み
$fp = fopen($outputFile,'w');
foreach($csv_data as $line){
	fputcsv($fp,$line);
}
rewind($fp);

$buf = str_replace("\n", "\r\n", stream_get_contents($fp));
fclose($fp);

$fp = fopen($outputFile, 'w');
fwrite($fp, $buf);
fclose($fp);


コメント投稿時に記事作成者に飛ぶメールを管理者のメールアドレスにも送信する

WordPressで記事にコメントがつくと、送信される「コメントがありましたメール」

通常、記事の作成者宛てにメールが送信されますが、これを管理者にもメールを送信するように設定を変更しました。
READ MORE

get_post()ではプレビューが表示されない

ごにょごにょと分岐のために、single.phpでget_post()を使って記事を取得していると、
プレビューで記事が表示されてなかった。

ので。

プレビューかどうかの分岐タグ
is_preview()を使って、プレビュー時は特に指定なく通常ループで記事を取得することで解決したメモ。