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

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

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 管理面板美观的原因之一,但我认为对于需要在视觉上分隔的内容(例如不同的帖子状态)进行某些颜色编码没有任何害处。

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

<?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 个操作。我希望你喜欢它并从中学到新东西。在下一篇文章中,我们将快速浏览一下我们所看到的内容并结束该系列。

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

以上就是WordPress 的五十个动作 - 演示 50 个示例(从 41 到 50)的详细内容,更多请关注知识资源分享宝库其它相关文章!

版权声明

本站内容来源于互联网搬运,
仅限用于小范围内传播学习,请在下载后24小时内删除,
如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
E-mail:dpw1001@163.com

分享:

扫一扫在手机阅读、分享本文

发表评论
热门文章
  • 华为 Mate 70 性能重回第一梯队 iPhone 16 最后一块遮羞布被掀

    华为 Mate 70 性能重回第一梯队 iPhone 16 最后一块遮羞布被掀
    华为 mate 70 或将首发麒麟新款处理器,并将此前有博主爆料其性能跑分将突破110万,这意味着 mate 70 性能将重新夺回第一梯队。也因此,苹果 iphone 16 唯一能有一战之力的性能,也要被 mate 70 拉近不少了。 据悉,华为 Mate 70 性能会大幅提升,并且销量相比 Mate 60 预计增长40% - 50%,且备货充足。如果 iPhone 16 发售日期与 Mate 70 重合,销量很可能被瞬间抢购。 不过,iPhone 16 还有一个阵地暂时难...
  • 酷凛 ID-COOLING 推出霜界 240/360 一体水冷散热器,239/279 元

    酷凛 ID-COOLING 推出霜界 240/360 一体水冷散热器,239/279 元
    本站 5 月 16 日消息,酷凛 id-cooling 近日推出霜界 240/360 一体式水冷散热器,采用黑色无光低调设计,分别定价 239/279 元。 本站整理霜界 240/360 散热器规格如下: 酷凛宣称这两款水冷散热器搭载“自研新 V7 水泵”,采用三相六极马达和改进的铜底方案,缩短了水流路径,相较上代水泵进一步提升解热能力。 霜界 240/360 散热器的水泵为定速 2800 RPM 设计,噪声 28db (A)。 两款一体式水冷散热器采用 27mm 厚冷排,...
  • 惠普新款战 99 笔记本 5 月 20 日开售:酷睿 Ultra / 锐龙 8040,4999 元起

    惠普新款战 99 笔记本 5 月 20 日开售:酷睿 Ultra / 锐龙 8040,4999 元起
    本站 5 月 14 日消息,继上线官网后,新款惠普战 99 商用笔记本现已上架,搭载酷睿 ultra / 锐龙 8040处理器,最高可选英伟达rtx 3000 ada 独立显卡,售价 4999 元起。 战 99 锐龙版 R7-8845HS / 16GB / 1TB:4999 元 R7-8845HS / 32GB / 1TB:5299 元 R7-8845HS / RTX 4050 / 32GB / 1TB:7299 元 R7 Pro-8845HS / RTX 2000 Ada...
  • python中def什么意思

    python中def什么意思
    python 中,def 关键字用于定义函数,这些函数是代码块,执行特定任务。函数语法为 def (参数列表)。函数可以通过其名字和圆括号调用。函数可以接受参数作为输入,并在函数体中使用参数名访问。函数可以使用 return 语句返回一个值,它将成为函数调用的结果。 Python 中 def 关键字 在 Python 中,def 关键字用于定义函数。函数是代码块,旨在执行特定任务。 语法 def 函数定义的语法如下: def (参数列表): # 函数体 示例 定义...
  • python中int函数的用法

    python中int函数的用法
    int() 函数将值转换为整数,支持多种类型(字符串、字节、浮点数),默认进制为 10。可以指定进制数范围在 2-36。int() 返回 int 类型的转换结果,丢弃小数点。例如,将字符串 "42" 转换为整数为 42,将浮点数 3.14 转换为整数为 3。 Python 中的 int() 函数 int() 函数用于将各种类型的值转换为整数。它接受任何可以解释为整数的值作为输入,包括字符串、字节、浮点数和十六进制表示。 用法 int(object, base=10) 其中...