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

wufei123 2024-06-02 阅读:36 评论: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

分享:

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

发表评论
热门文章
  • BioWare埃德蒙顿工作室面临关闭危机,龙腾世纪制作总监辞职引关注(龙腾.总监.辞职.危机.面临.....)

    BioWare埃德蒙顿工作室面临关闭危机,龙腾世纪制作总监辞职引关注(龙腾.总监.辞职.危机.面临.....)
    知名变性人制作总监corrine busche离职bioware,引发业界震荡!外媒“smash jt”独家报道称,《龙腾世纪:影幢守护者》制作总监corrine busche已离开bioware,此举不仅引发了关于个人职业发展方向的讨论,更因其可能预示着bioware埃德蒙顿工作室即将关闭而备受关注。本文将深入分析busche离职的原因及其对bioware及游戏行业的影响。 Busche的告别信:挑战与感激并存 据“Smash JT”获得的内部邮件显示,Busche离职原...
  • 闪耀暖暖靡城永恒怎么样-闪耀暖暖靡城永恒套装介绍(闪耀.暖暖.套装.介绍.....)

    闪耀暖暖靡城永恒怎么样-闪耀暖暖靡城永恒套装介绍(闪耀.暖暖.套装.介绍.....)
    闪耀暖暖钻石竞技场第十七赛季“华梦泡影”即将开启!全新闪耀性感套装【靡城永恒】震撼来袭!想知道如何获得这套精美套装吗?快来看看吧! 【靡城永恒】套装设计理念抢先看: 设计灵感源于夜色中的孤星,象征着淡然、漠视一切的灰色瞳眸。设计师希望通过这套服装,展现出在虚幻与真实交织的夜幕下,一种独特的魅力。 服装细节考究,从面料的光泽、鞋跟声响到裙摆的弧度,都力求完美还原设计初衷。 【靡城永恒】套装设计亮点: 闪耀的绸缎与金丝交织,轻盈的羽毛增添华贵感。 这套服装仿佛是从无尽的黑...
  • python怎么调用其他文件函数

    python怎么调用其他文件函数
    在 python 中调用其他文件中的函数,有两种方式:1. 使用 import 语句导入模块,然后调用 [模块名].[函数名]();2. 使用 from ... import 语句从模块导入特定函数,然后调用 [函数名]()。 如何在 Python 中调用其他文件中的函数 在 Python 中,您可以通过以下两种方式调用其他文件中的函数: 1. 使用 import 语句 优点:简单且易于使用。 缺点:会将整个模块导入到当前作用域中,可能会导致命名空间混乱。 步骤:...
  • 斗魔骑士哪个角色强势-斗魔骑士角色推荐与实力解析(骑士.角色.强势.解析.实力.....)

    斗魔骑士哪个角色强势-斗魔骑士角色推荐与实力解析(骑士.角色.强势.解析.实力.....)
    斗魔骑士角色选择及战斗策略指南 斗魔骑士游戏中,众多角色各具特色,选择适合自己的角色才能在战斗中占据优势。本文将为您详细解读如何选择强力角色,并提供团队协作及角色培养策略。 如何选择强力角色? 斗魔骑士的角色大致分为近战和远程两种类型。近战角色通常拥有高攻击力和防御力,适合冲锋陷阵;远程角色则擅长后方输出,并依靠灵活走位躲避攻击。 选择角色时,需根据个人游戏风格和喜好决定。喜欢正面硬刚的玩家可以选择战士型角色,其高生命值和防御力能承受更多伤害;偏好策略性玩法的玩家则可以选择法...
  • 奇迹暖暖诸星梦眠怎么样-奇迹暖暖诸星梦眠套装介绍(星梦.暖暖.奇迹.套装.介绍.....)

    奇迹暖暖诸星梦眠怎么样-奇迹暖暖诸星梦眠套装介绍(星梦.暖暖.奇迹.套装.介绍.....)
    奇迹暖暖全新活动“失序之圜”即将开启,参与活动即可获得精美套装——诸星梦眠!想知道这套套装的细节吗?一起来看看吧! 奇迹暖暖诸星梦眠套装详解 “失序之圜”活动主打套装——诸星梦眠,高清海报震撼公开!少女在无垠梦境中,接受星辰的邀请,馥郁芬芳,预示着命运之花即将绽放。 诸星梦眠套装包含:全新妆容“隽永之梦”、星光面饰“熠烁星光”、动态特姿连衣裙“诸星梦眠”、动态特姿发型“金色绮想”、精美特效皇冠“繁星加冕”,以及动态摆件“芳馨酣眠”、“沉云余音”、“流星低语”、“葳蕤诗篇”。...