0

0

WordPress 的五十个动作 - 演示 50 个示例(从 41 到 50)

WBOY

WBOY

发布时间:2023-09-03 17:25:07

|

1480人浏览过

|

来源于php中文网

原创

wordpress 的五十个动作 - 演示 50 个示例(从 41 到 50)

如果您一直在关注我们这个系列,那么您就会知道我们正处于查看 WordPress 的 50 个操作的最后冲刺阶段。对于那些刚刚加入我们的人,我强烈建议您查看上一篇文章(因为本文从上次停止的地方继续)以及之前每一篇文章链接的文章。

这将使您了解我们现在的进展。

我们开始吧!

注入到插件管理页面的

插件也有需求:它们可能需要用于自己的选项页面的页内脚本或样式。使用 admin_head-(plugin_page) 操作,可以将内容注入到特定插件页面的 标记中。

为您的插件管理页面添加样式

如果您需要向插件的选项页面添加一些 CSS 样式,下面的代码将帮助您:

<?php

add_action( 'admin_head-tools_page_myplugin/myplugin', 'admin_head_plugin_page_example' );

function admin_head_plugin_page_example() {
    echo '<style type="text/css">'
       . '/* your style here */'
       . '</style>';
}

// Example Source: https://codex.wordpress.org/Plugin_API/Action_Reference/admin_head-(plugin_page)

?>

用您的CSS代码更改注释掉的行,用您自己的插件替换操作名称的第二部分(tools_page_myplugin/myplugin),然后就可以开始了!

在处理 Ping 之前对其进行处理

“Ping”是 WordPress 最古老的功能之一,而 pre_ping 操作可让我们在处理 ping 之前对其进行处理。

禁用自 Ping

在 ping 方面,WordPress 不区分内部链接和外部链接。要禁用自我 ping,您可以使用这个方便的小代码片段:

<?php

add_action( 'pre_ping', 'pre_ping_example' );
function pre_ping_example( &$links ) {

	foreach ( $links as $l => $link ) {
    
        if ( 0 === strpos( $link, get_home_url() ) ) {
            unset( $links[ $l ] );
        }
        
	}
    
}

// Example Source: http://wpdevsnippets.com/remove-slef-pings/

?>

从现在开始,您的 WordPress 安装将不会 ping 自己的帖子。

使用 get_header() 函数

当模板调用 get_header() 函数时,会调用 get_header 操作,非常适合修改 WordPress 前端标头的函数。

激活简单维护模式

如果您很着急,没有时间安装“维护模式”插件并设置其选项,您可以简单地使用下面的代码,并向除管理员之外的所有人发出 wp_die() 错误:

<?php

add_action( 'get_header', 'get_header_example' );

function get_header_example() {

	if ( ! current_user_can( 'activate_plugins' ) ) {
		wp_die( 'The website will be back soon.' );
    }
    
}

// Example Source: http://wp-snippets.com/articles/7-code-snippets-you-should-use-on-every-site/

?>

由于只有管理员(和超级管理员)才有'activate_plugins'能力,因此网站将对除管理员之外的所有人关闭。

篡改登录页面的

login_head 操作帮助我们控制登录页面上的 标签。

消除不正确凭据的摇动效果

如果您不喜欢用户提交错误登录信息时出现的“摇晃”效果,可以使用以下功能将其删除:

<?php

add_action( 'login_head', 'login_head_example' );
function login_head_example() {
    remove_action( 'login_head', 'wp_shake_js', 12 );
}

// Example Source: http://wordpress.org/support/topic/plugin-simplemodal-login-remove-shake-effect

?>

不过我喜欢这个效果。

使用仪表板的页脚

有时,我们可能想要控制管理面板的页脚 - 不是页脚部分本身,而是 标记之前的部分。 admin_footer 操作正是这样做的。

为帖子状态添加快速样式

拥有一组一致的颜色是使 WordPress 管理面板美观的原因之一,但我认为对于需要在视觉上分隔的内容(例如不同的帖子状态)进行某些颜色编码没有任何害处。

如果您像我一样并且希望能够区分已发布的帖子与草稿或其他帖子状态,请使用以下代码:

Joker AIx
Joker AIx

一站式AI创意生产平台,覆盖图像、视频、音频、文案全品类创作

下载
<?php

add_action( 'admin_footer', 'admin_footer_example' );
function admin_footer_example() {

	echo '<style type="text/css">
	.status-draft	{ background-color: #FCE3F2; }
	.status-pending	{ background-color: #87C5D6; }
	.status-future	{ background-color: #C6EBF5; }
	.status-private	{ background-color: #F2D46F; }
	</style>';
    
}

// Example Source: http://wpsnipp.com/index.php/functions-php/change-admin-postpage-color-by-status-draft-pending-published-future-private/

?>

在登录页面中排队脚本和样式

我们可以使用 wp_enqueue_scripts 将内容排队到前端,也可以使用 admin_enqueue_scripts 将内容排队到后端。那么登录页面呢?你猜对了:这次 login_enqueue_scripts 是我们的钩子!

更改登录表单上方的徽标

我喜欢 WordPress 徽标,但我不认为每次用户登录我的网站时都应该显示它。如果您也有同样的想法,您可以使用下面这个有用的代码片段将 WordPress 徽标替换为您自己的徽标:

<?php

add_action( 'login_enqueue_scripts', 'login_enqueue_scripts_example' );
function login_enqueue_scripts_example() {

	echo '<style type="text/css">'
			. '#login h1 a {'
				. 'background-image: url(' . get_bloginfo( 'template_directory' ) . '/images/login-logo.png);'
				. 'padding-bottom: 30px;'
			. '}'
		. '</style>';
        
}

// Example Source: http://wpsnippy.com/add-custom-login-logo-in-your-wordpress-blog/

?>

login-logo.png 文件放入主题的 /images/ 文件夹中,就可以了!

将自定义列添加到用户列表

您知道管理面板“所有用户”页面中的用户列表吗? manage_users_custom_column 操作允许我们借助随附的过滤器向该列表添加新的自定义列。

在一列中显示用户的注册日期

假设您需要批量查看会员的注册日期。您可以在每次需要该信息时检查数据库记录,也可以使用此代码片段向用户列表添加额外的列:

<?php

add_action( 'manage_users_custom_column', 'manage_users_custom_column_example', 10, 3 );
add_filter( 'manage_users_columns', 'manage_users_columns_example' );

// create a new column named "Zip Code"
function manage_users_columns_example( $columns ) {

	$columns['user_registered'] = __( 'Registration Date', 'theme-name' );
	return $columns;
    
}

// fill the column cells with the registration dates
function manage_users_custom_column_example( $value, $column_name, $user_id ) {

	if ( 'user_registered' == $column_name ) {
    
		$userdata = get_userdata( $user_id );
		return $userdata->user_registered;
        
	}
    
}

// Example Source (Idea): http://tommcfarlin.com/add-custom-user-meta-during-registration/

?>

现在您对您的会员有了更多了解。

使用插件激活

当您需要检查 WordPress 中的插件是否已激活时,您该怎么办?好吧,您使用 activated_plugin 挂钩:这个方便的小操作在插件激活时触发。

每次激活插件时向管理员发送电子邮件

假设您有很多客户网站(使用您的电子邮件地址安装),并且当客户在其网站上安装并激活新插件时,您需要收到通知。

只需使用此函数并将其挂接到 activated_plugins 即可:

<?php

add_action( 'activated_plugin', 'activated_plugin_example', 10, 2);
function activated_plugin_example( $plugin, $network_activation ) {
	
    $to			= get_option( 'admin_email' );
	$subject	= 'A plugin has been activated';
	$body		= "Hey,\n\nThe following plugin has just been activated:\n\n$plugin\n\nCheers!";
	
    wp_mail( $to, $subject, $body );
}

?>

处理配色方案选项

自 WordPress 3.0 起,我们的管理面板有了“配色方案”,并且我们可以编辑、添加或删除配色方案。 admin_color_scheme_picker 操作使用户可以更改颜色方案。

删除更改配色方案的选项

这个例子不需要太多介绍:如果您需要剥夺用户更改配色方案的权利(例如,因为您有一个特殊的配色方案并且您不希望用户将其更改回来)为默认值),使用下面的代码片段删除该选项:

<?php

if( is_admin() ) {
	remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );
}

// Example Source: http://wpsnipp.com/index.php/functions-php/remove-admin-color-scheme-picker-from-profile/

?>

嘿,我们刚刚从同名的动作挂钩中删除了一个函数。我知道,这很奇怪。

处理注销过程

用户登录、用户注销,当他们注销时,将调用 wp_logout 操作。

注销后将用户重定向到主页

从 WordPress 网站注销有点奇怪:您会被重定向到登录页面,就像 WordPress 需要您再次登录一样。以下是解决该问题并将用户注销时重定向到主页的方法:

<?php

add_action( 'wp_logout', 'wp_logout_example' );

function wp_logout_example() {
	wp_redirect( home_url() );
	exit();
}

// Example Source: http://wpsnippy.com/auto-redirect-users-after-logout/

?>

现在,每次用户注销时,他们都会看到主页而不是登录表单。

第五部分结束

我们刚刚完成了本文中的最后一批 50 个操作。我希望你喜欢它并从中学到新东西。在下一篇文章中,我们将快速浏览一下我们所看到的内容并结束该系列。

我也想听听你的想法。您对这些行动有何看法?在下面发表您的评论。如果您喜欢这篇文章,别忘了分享!

WPS零基础入门到精通全套教程!
WPS零基础入门到精通全套教程!

全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

386

2023.06.29

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2111

2023.08.14

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

357

2023.08.31

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

259

2023.09.05

vb中怎么连接access数据库
vb中怎么连接access数据库

vb中连接access数据库的步骤包括引用必要的命名空间、创建连接字符串、创建连接对象、打开连接、执行SQL语句和关闭连接。本专题为大家提供连接access数据库相关的文章、下载、课程内容,供大家免费下载体验。

329

2023.10.09

数据库对象名无效怎么解决
数据库对象名无效怎么解决

数据库对象名无效解决办法:1、检查使用的对象名是否正确,确保没有拼写错误;2、检查数据库中是否已存在具有相同名称的对象,如果是,请更改对象名为一个不同的名称,然后重新创建;3、确保在连接数据库时使用了正确的用户名、密码和数据库名称;4、尝试重启数据库服务,然后再次尝试创建或使用对象;5、尝试更新驱动程序,然后再次尝试创建或使用对象。

420

2023.10.16

vb连接access数据库的方法
vb连接access数据库的方法

vb连接access数据库方法:1、使用ADO连接,首先导入System.Data.OleDb模块,然后定义一个连接字符串,接着创建一个OleDbConnection对象并使用Open() 方法打开连接;2、使用DAO连接,首先导入 Microsoft.Jet.OLEDB模块,然后定义一个连接字符串,接着创建一个JetConnection对象并使用Open()方法打开连接即可。

478

2023.10.16

vb连接数据库的方法
vb连接数据库的方法

vb连接数据库的方法有使用ADO对象库、使用OLEDB数据提供程序、使用ODBC数据源等。详细介绍:1、使用ADO对象库方法,ADO是一种用于访问数据库的COM组件,可以通过ADO连接数据库并执行SQL语句。可以使用ADODB.Connection对象来建立与数据库的连接,然后使用ADODB.Recordset对象来执行查询和操作数据;2、使用OLEDB数据提供程序方法等等。

231

2023.10.19

Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

37

2026.03.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号