教你如何在WordPress发布文章时自定义文章作者名称

有时候网站会收到一些投稿文章,或者也会转载别人的文章,新创建一个用户又有些麻烦,但在作者名称那里显示自己的名字,总不是那么和谐。今天倡萌推荐 @西秦公子 的一个小插件,支持在后台自定义当前文章的作者名称,效果如下图所示:

直接在后台插件安装界面搜索“自定义作者名称”即可在线安装,或者到官方下载:https://litepress.cn/plugins/custom-author/

如果转载或投稿文章比较多,倡萌建议单独创建一个专门用于发布这类文章的用户,然后发布的文章的时候,自定义一下作者名称即可。

下面来看看这个小插件的代码:

<?php
/*
Plugin Name: 	Custom Author
Plugin URI: 	https://www.ixiqin.com/2018/06/wordpress-custom-author-plugin/
Description: 	自定义作者插件
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 : xiqingongzi@gmail.com)
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,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
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., 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');
/** 创建一个checkBox */
function cus_author_createCustomField() {
	$post_id = get_the_ID();
	if (get_post_type($post_id) != 'post') {
		return;
	}
	/**
	 * 提取现有的值
	 * @var boolean
	 */
	$value = get_post_meta($post_id, '_custom_author_name', true);
	/**
	 * 添加 nonce 安全处理
	 */
	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>作者:</b><input type="text" value="<?php echo $value ?>" name="_custom_author_name" /></label>
    </div>
    <?php
}
/**
 * 保存配置信息
 * @param  int $post_id 文章的ID
 */
function cus_author_saveCustomField($post_id) {
	/**
	 * 自动保存不处理
	 */
	if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
		return;
	}
	/**
	 * nonce 信息不正确不处理
	 */
	if (
		!isset($_POST['custom_author_nonce']) ||
		!wp_verify_nonce($_POST['custom_author_nonce'], 'custom_author_nonce')
	) {
		return;
	}
	/**
	 * 用户无权编辑文章不处理
	 */
	if (!current_user_can('edit_post', $post_id)) {
		return;
	}
	/**
	 * 存在此项目就更新
	 */
	if (isset($_POST['_custom_author_name'])) {
		update_post_meta($post_id, '_custom_author_name', sanitize_text_field($_POST['_custom_author_name']));
	} else {
		/**
		 * 不存在就删除
		 */
		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(文章),见32行。

至此关于在WordPress发布文章时自定义文章作者名称就结束了,更多关于WordPress技巧与插件请查看下面的相关链接

(0)

相关推荐

  • 利用AJAX实现WordPress中的文章列表及评论的分页功能

    文章列表页分页 一.加载 jQuery 库 既然是 jQuery 驱动的 Ajax ,加载 jQuery 库是必须的. 二.文章列表格式 在你的文章列表页面(首页 index.php.归档 archive.php )需要确保有以下类似的结构 <!-- 包含所有文章的容器 --> <div id="content"> <!-- 各文章的容器 --> <div class="post"></div> <d

  • 禁用WordPress的自动保存草稿文章修订功能方法详解

    WordPress的版本修订历史(revision).自动保存(autosave)和自动草稿(auto-draft)功能会非常讨厌的增加文章ID的数字,会造成连续的两篇文章,ID数值可能会相差很多,让我们这些希望文章ID连续的人感到非常不舒服 那么我们如何禁用WordPress版本修订历史,禁用WordPress自动保存,禁用WordPress自动草稿功能呢? 下面的方法需要修改源文件所以在打开每一个文件之前,记得一定要先做好备份! 禁用WordPress文章修订历史版本 1.打开 wp-con

  • 调用WordPress函数统计文章访问量及PHP原生计数器的实现

    1.首先介绍WordPress的两款功能强大的插件: (1)Count per Day 是一个非常强大的访客数量统计插件,可以统计每天.昨天.每周.每月等等的访客数量(根据IP进行统计),统计在线访客数.浏览器.搜索词等等,自带多种调用简码.模板标签以及小工具,方便你自行调用和集成. (2)StatPressCN,实时显示blog的访问统计,完美支持中文(如搜索关键字等).它可以集中显示来访者.爬虫.搜索关键字.订阅统计.浏览器.操 作系统等信息,方便您及时把握blog的访问情况,同时还提供了定

  • 通过自定义字段重新排序 WordPress 文章方法

    您想更改网站博客页面上 WordPress 文章的顺序吗?那么您就在正确的地方学习此功能并更改文章的顺序.因此,在本文中,我将向您展示如何通过自定义字段更改文章的顺序. WordPress 中文章的默认顺序基于发布日期,并按时间倒序显示.这意味着它将在顶部显示最新的文章. 通过为 WordPress 添加自定义字段,您可以根据该自定义字段更改顺序. 我将在下面的分步指南中解释如何创建自定义字段并更改博客页面上文章的顺序. 按自定义字段排序 WordPress 文章 让我们开始在帖子中创建一个自定

  • WordPress中设置Post Type自定义文章类型的实例教程

    什么是自定义post? 不要想当然的认为这里的post就是就是指博客中的文章,它只不过是一个文章类的代理词而已,甚至你还可以认为它是内容. 自定义模型是没有一个很标准的什么规定的,文章模型可以是你想的任何一个内容模型,就拿wordpress本身来说就内置了以下几个内容文章模型: 博客文章 页面 附件 修正 导航等 你可以这样去理解:它只要是想我们使用博客文章那样用来创建.编辑和储存数据的一种很灵活的内容形式. 不过在这里我还是需要提醒下,博客内置的post还是有点点不同的,你可以利用它含有分类.

  • WordPress中用于获取文章作者与分类信息的方法整理

    作者 查询和某些作者(用户)有关的文章,可以使用 4 个参数: author(整数):用户 ID author_name(字符串):用户的昵称("user_nicename" 字段) author__in(数组):用户 ID author__not_in(数组):用户 ID 获取一个作者的文章 根据用户 ID 获取: $query = new WP_Query( 'author=123' ); 根据用户的昵称("user_nicename" 字段)获取: $quer

  • 教你如何在WordPress发布文章时自定义文章作者名称

    有时候网站会收到一些投稿文章,或者也会转载别人的文章,新创建一个用户又有些麻烦,但在作者名称那里显示自己的名字,总不是那么和谐.今天倡萌推荐 @西秦公子 的一个小插件,支持在后台自定义当前文章的作者名称,效果如下图所示: 直接在后台插件安装界面搜索"自定义作者名称"即可在线安装,或者到官方下载:https://litepress.cn/plugins/custom-author/ 如果转载或投稿文章比较多,倡萌建议单独创建一个专门用于发布这类文章的用户,然后发布的文章的时候,自定义一下

  • 一篇文章教你3分钟如何发布Qt程序

    导读:Qt程序编写好以后该如何发布.本文教你使用Qt自带工具windeployqt来进行操作. 本文字数:500,阅读时长大约:3分钟 (1)编写一个简单的程序 我们先做一个简单的窗口,添加一个图片资源文件,放置到窗口当中. 选择添加Qt Resource File文件类型 选择资源文件的路径,并为它命名 点击完成 设置资源前缀,如果资源层次不是很复杂的话,可以只设置一层,用"/"表示 点击Add Files添加一个图片文件 在主窗口中添加一个 Tool Button,设置刚才的图片为

  • 教你如何在Pytorch中使用TensorBoard

    什么是TensorboardX Tensorboard 是 TensorFlow 的一个附加工具,可以记录训练过程的数字.图像等内容,以方便研究人员观察神经网络训练过程.可是对于 PyTorch 等其他神经网络训练框架并没有功能像 Tensorboard 一样全面的类似工具,一些已有的工具功能有限或使用起来比较困难 (tensorboard_logger, visdom等) .TensorboardX 这个工具使得 TensorFlow 外的其他神经网络框架也可以使用到 Tensorboard

  • 教你如何在pycharm中使用less

    前端css中用到less,在pycharm中安装配置less操作步骤如下: 1.点开setting,在Plugins中搜索node.js(安装less之前得安装node.js),安装成功后关闭重新打开pycharm. 2.点开pycharm左下角的Terminal,输入 npm install -g less ,安装less: 3.检查是否安装成功,执行命令"lessc -v"查看版本: (正常执行命令之后应该会看到less版本号信息,但是我的pycharm不知道为什么报如下截图错误,

  • 基于Node.js的强大爬虫 能直接发布抓取的文章哦

    一.环境配置 1)搞一台服务器,什么linux都行,我用的是CentOS 6.5: 2)装个mysql数据库,5.5或5.6均可,图省事可以直接用lnmp或lamp来装,回头还能直接在浏览器看日志: 3)先安个node.js环境,我用的是0.12.7,更靠后的版本没试过: 4)执行npm -g install forever,安装forever好让爬虫在后台跑: 5)把所有代码整到本地(整=git clone): 6)在项目目录下执行npm install安装依赖库: 7)在项目目录下创建jso

  • 六个步骤,从零开始教你搭建基于WordPress的个人博客

    目录 摘要:WordPress是使用PHP语言开发的博客平台,是免费开源的.用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站,也可以把WordPress当作一个内容管理系统(CMS)来使用. 一.购买云服务器和域名 可以参考以下博客进行购买,以华为云为例,服务商可以自选.如果已有云服务器和域名,直接进行第二步操作. ▶ 云服务器和域名的购买-华为云 二.远程连接云服务器 可以参考以下博客进行远程连接服务器,也可以用其他办法连接.连接以后进行第三步操作. ▶ Xftp和Xshel

  • 教你如何在pycharm中安装opencv,tensorflow,keras

    目录 一.首先安装Anaconda,python和pycharm 二.首先安装opencv 三.安装tensorflow和kerass 四.小结 我在安装环境的时后,怎么都装不上去,搞了好久,现在来写一下心得. 一.首先安装Anaconda,python和pycharm 有很多教程,我就不在此赘述 二.首先安装opencv 1.点击左下角的Terminal 2.输入pip install opencv-python,然后按键盘上的enter(亲测有效) 3.看到successfully就说明安装

  • 教你如何在Pygame 中移动你的游戏角色

    Pygame是一组跨平台的 Python 模块,专为编写视频游戏而设计.它包括旨在与 Python 编程语言一起使用的计算机图形和声音库.您可以使用 pygame 创建不同类型的游戏,包括街机游戏.平台游戏等等. 使用的图像: 你可以控制玩家的移动.为此,首先使用 pygame 的 display.set_mode() 方法创建一个显示对象,并使用 pygame 的 image.load() 方法添加玩家的精灵.set_mode() 函数用于初始化显示表面或窗口.size 参数是一对代表宽度和高

  • 教你如何在windows 10家庭版上安装docker

    本人之前写Redis书和Spring Cloud Alibaba书时,发现一些分布式组件更适合安装在linux环境,而在搭建Redis等集群时,更需要linux环境. 本人日常练习代码和写书所用的机器,操作系统是windows 10家庭版,为了模拟linux环境,一种解决方法是安装docker.刚开始安装时,发现装不上,后来请教了别人,同时在网上找了些方法后,最终安装成功了. 自认为这个步骤不大顺利,中间也解决了若干问题,在这篇文章里,就详细列出安装步骤,并给出解决相关问题的方法,以供大家参考.

随机推荐