1. ホーム
  2. Web プログラミング
  3. 関連情報

WordPressで記事を公開する際の著者名をカスタマイズする方法を伝授

2022-01-17 14:51:28

投稿された記事がサイトに届くこともあれば、他人の記事を転載することもあり、新しいユーザーを作るのはちょっと面倒ですが、著者名に自分の名前を表示するのはいつもあまり調和がとれていないものです。今日のAdvocateは、@XiQinGongziさんによる、以下の画像のように、現在の記事の著者名をバックグラウンドでカスタマイズすることをサポートする小さなプラグインをお勧めします。

バックエンドのプラグインインストール画面で直接 "custom author name" と検索してオンラインでインストールするか、以下の公式サイトからダウンロードすることが可能です。 https://litepress.cn/plugins/custom-author/

もし、再掲載や寄稿の記事が多い場合は、Advocateはそのような記事を投稿するための別のユーザーを作り、記事を投稿するときに著者名だけをカスタマイズすることを提案します。

この小さなプラグインのコードはこちらです。

<?php
/*
Plugin Name: Custom Author
Plugin URI: https://www.ixiqin.com/2018/06/wordpress-custom-author-plugin/
Description: Custom Author Plugin
Version: 1.0
Author: Bestony
Author URI: https://www.ixiqin.com/
License: GPL2
License URI: https://www.gnu.org/licenses/gpl-2.0.html
 */
/* Copyright 2018 Bestony (email : [email protected])
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
this program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation, Inc.
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 */


add_action('post_submitbox_misc_actions', 'cus_author_createCustomField');
add_action('save_post', 'cus_author_saveCustomField');
/** Create a checkBox */
function cus_author_createCustomField() {
	$post_id = get_the_ID();
	if (get_post_type($post_id) ! = 'post') {
		return;
	}
	/**
	 * Extract the existing value
	 * @var boolean
	 */
	$value = get_post_meta($post_id, '_custom_author_name', true);
	/**
	 * Add nonce security handling
	 */
	wp_nonce_field('custom_author_nonce' , 'custom_author_nonce');
	? >
    <div class="misc-pub-section misc-pub-section-last dashicons-before dashicons-admin-users">
        <label><b>Author:</b><input type="text" value="<?php echo $value ? >" name="_custom_author_name" /></label>
    </div>
    <?php   
}
/**
 * Save configuration information
 * @param int $post_id ID of the article
 */
function cus_author_saveCustomField($post_id) {
	/**
	 * Auto-save is not processed
	 */
	if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
		return;
	}
	/**
	 * nonce information is not processed correctly
	 */
	if (
		!isset($_POST['custom_author_nonce']) ||
		!wp_verify_nonce($_POST['custom_author_nonce'], 'custom_author_nonce')
	) {
		return;
	}
	/**
	 * User does not have the right to edit the article without processing
	 */
	if (!current_user_can('edit_post', $post_id)) {
		return;
	}
	/**
	 * Update if this item exists
	 */
	if (isset($_POST['_custom_author_name'])) {
		update_post_meta($post_id, '_custom_author_name', sanitize_text_field($_POST['_custom_author_name']));
	} else {
		/**
		 * Delete if it doesn't exist
		 */
		delete_post_meta($post_id, '_custom_author_name');
	}
}

add_filter('the_author','cus_author_the_author');
function cus_author_the_author($author){
    $custom_author = get_post_meta(get_the_ID(), '_custom_author_name');
    if ($custom_author) {
		return $custom_author[0];
	} else {
		return $author;
	}
}

コアとなるアイデアは、the_authorをフックすることで、記事著者の表示名を変更することです。これは投稿タイプをpost(article)に制限しています、32行目を参照してください。

以上で、WordPressで投稿する際の投稿者名のカスタマイズは終了です。WordPressのTipsやプラグインについては、以下の関連リンクをご参照ください。