WordPress 管理员 - 需要自定义元检查

2023-12-08

我在 WordPress 管理中添加自定义用户元,并且我希望我的两个自定义字段是必需的,但是如何显示错误并告诉 WordPress 在出现错误时不更新配置文件?

add_action('personal_options_update', 'sweety_admin_update_extra_profile_fields');
add_action('edit_user_profile_update', 'sweety_admin_update_extra_profile_fields');
function sweety_admin_update_extra_profile_fields($user)
{
    $error = false;

    if (is_super_admin())
    {
            if (!$_POST['country'] || !$_POST['timezone'])
            {
                $error = true;
            }
        update_user_meta($user, 'country_id', $_POST['country']);
        update_user_meta($user, 'timezone_string', $_POST['timezone']);
    }
}

我想你可以试试这个

add_action('user_profile_update_errors', 'validate_extra' 10, 3);
function validate_extra(&$errors, $update = null, &$user  = null)
{
    if (is_super_admin())
    {
        if (!$_POST['country'] || !$_POST['timezone'])
        {
            $errors->add('empty_country', "<strong>ERROR</strong>: Please select a country in the list");
        }   
        
    }
}

add_action( 'personal_options_update', 'save_extra_profile_fields' );
add_action( 'edit_user_profile_update', 'save_extra_profile_fields' );
function save_extra_profile_fields($user)
{
    if (is_super_admin())
    {
        update_user_meta($user, 'country', $_POST['country']);
        update_user_meta($user, 'timezone_string', $_POST['timezone']);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WordPress 管理员 - 需要自定义元检查 的相关文章

  • 在同一服务器上的 2 个子域中安装 2 个 WordPress 时共享用户

    我有 2 个 WordPress 网站 位于 2 个不同的子域中 例如test1 abc com and test2 abc com 这两个网站都激活了 wp require 插件 只有登录用户才能看到该网站 我们想要创建一个系统 如果用户
  • PHP7.1上读取会话数据失败

    分享一个我遇到的问题 现已解决 在我的开发机器上 我使用 PHP 运行 IIS 我升级到 PHP7 突然我的代码不再工作 返回此错误 session start 读取会话数据失败 用户 路径 C WINDOWS temp 看起来像是权限问题
  • 使用 Laravel Socialite 登录 facebook

    然而 我是 Laravel 的新手 我正在遵循以下教程http www codeanchor net blog complete laravel socialite tutorial http www codeanchor net blog
  • Apache LOG:子进程 pid xxxx 退出信号分段错误 (11)

    Apache PHP Mysql Linux 注意 子进程 pid 23145 退出信号分段错误 11 tmp 中可能存在 coredump 但 tmp下没有找到任何东西 我怎样才能找到错误 PHP 代码中函数的无限循环导致了此错误
  • 测试 CodeIgniter 会话变量的正确方法是什么?

    获取以下代码片段 测试确保会话变量不为空的最佳方法是什么 如果稍后在我的脚本中 我调用以下内容 第一个打印正确 但在第二个我收到消息 未定义的变量 已登录 我尝试过使用 empty and isset 但两者均未成功 我还尝试使用向后执行
  • 如何在 Yii2 应用程序中显示多个选择下拉列表中的选定值?

    我正在研究 Yii2 我正在使用这样的自定义数组创建多个选择下拉菜单 在控制器文件中 all groups Groups find gt where group created by id gt orwhere new Expression
  • 如何处理PDO异常[重复]

    这个问题在这里已经有答案了 我正在尝试与PDOphp 上的类 但我在找到处理错误的正确方法时遇到了一些麻烦 我编写了以下代码
  • 确定 PHP 到目前为止执行了多长时间

    我需要确定 PHP 函数到目前为止已经运行了多长时间 有哪些选项可以确定某些 PHP 代码的运行时间 我正在使用 zend 框架 Call microtime true 函数以毫秒分辨率获取当前时间
  • 不区分大小写的 array_unique

    我正在尝试编写几行代码来创建一个不区分大小写的数组唯一类型函数 这是我到目前为止所拥有的 foreach topics as value lvalue strtolower value uvalue strtolower value if
  • 软删除最佳实践(PHP/MySQL)

    Problem 在处理产品和订单的 Web 应用程序中 我想维护前员工 用户 与他们处理的订单之间的信息和关系 我想维护过时产品和包含这些产品的订单之间的信息和关系 然而 我希望员工能够整理管理界面 例如删除前员工 过时的产品 过时的产品组
  • Php Curl HTTP POST REQUEST 使用嵌套键值对设置自定义标头

    如何使用 Curl 在 php 中设置此标头 CustomInfo 元素是数组 嵌套键值对 AuthenticationInfo 元素是数组 嵌套键值对
  • 如何通过开始索引和结束索引提取子字符串?

    str HelloWorld sub substr str 3 5 echo sub prints loWor 我知道 substr 采用第一个参数 第二个参数是开始索引 而第三个参数是要提取的子字符串长度 我需要的是通过提取子字符串起始索
  • 类 Doctrine\Common\Collections\ArrayCollection 不是有效的实体或映射的超类

    我有三个实体 特征值 php
  • websockets 如何处理同一浏览器的两个选项卡

    I have 1 个 PHP 服务器 提供 http 请求 和 1 node js 发布更新的数据消息 每个连接都带有 websocket php 服务器设置其 cookie 在一个浏览器中 此 cookie 可在所有选项卡中使用 当浏览器
  • 一次用 \r\n & \n & \r 分解字符串? [复制]

    这个问题在这里已经有答案了 我想按行分割字符串 但我希望它基于所有主要使用的换行符 n r n r 并返回一个包含每一行的数组 您可以使用正则表达式和preg split http php net preg split反而 lines pr
  • 如何下载临时文件

    我正在尝试创建一个简短的 PHP 脚本 该脚本采用 JSON 字符串 将其转换为 CSV 格式 使用fputcsv 并使该 CSV 可作为下载的 csv 文件使用 我的想法是使用tmpfile 不用担心 cronjobs 或磁盘空间不足 但
  • 验证 LDAPS 连接的自签名证书

    我想从 Linux Linux 3 2 0 4 amd64 1 SMP Debian 3 2 51 1 x86 64 GNU Linux 客户端到 Windows 2012 服务器建立安全的 ldap 连接 ldaps 以更改活动中的用户密
  • 使用多个 WHERE 子句更新 Codeigniter 中的批次

    我查看了 CI 用户指南来了解如何处理update batch 并且它似乎只接受一个索引来匹配要更新的行 但在我的例子中 我需要指定两个索引 例如lang and id page我一起用作索引 这样的lang en id page 115是
  • Laravel 4.2 Composer 安装错误:“无法扫描类”

    我想通过 Composer 在新的 Laravel 4 2 安装上安装一些软件包 但是 我遇到了例外 这是我的作曲家文件 name laravel laravel description The Laravel Framework keyw
  • 如何缩短 PHP if 语句?

    我有一个 if 语句 我需要将单个字符串与许多不同的选项进行比较 我在下面发布的代码非常清楚地表明了我的意思 我知道有两种方法可以做到这一点 但另一种甚至更长 那么 是否有任何函数可以以更短的方式实现类似的功能 我的要求可能看起来很愚蠢 但

随机推荐

  • 如何交互式更新 matplotlib imshow() 窗口?

    我正在研究一些计算机视觉算法 我想展示 numpy 数组在每个步骤中如何变化 现在有效的是 如果我有一个简单的imshow array 在我的代码末尾 窗口显示并显示最终图像 然而 我想做的是随着图像在每次迭代中的变化而更新并显示 imsh
  • 检查哪个表单有错误

    我有一个模式窗口 我只想在页面上的多个表单之一出现错误时启动该窗口 有没有办法使用 el 来识别特定表单是否有错误 示例伪代码
  • 如何用ajax查看表单上传的文件?

    我正在尝试上传以表单形式发送的文件 我正在尝试使用 php 但在 html 和 php 之间我使用 JS Jquery 和 ajax 因为我不希望页面重新加载 我在使用 FILES 时遇到了麻烦 在这里 我使用带有 javascript 操
  • 数组声明方括号内的星号在 C 中意味着什么[重复]

    这个问题在这里已经有答案了 我正在编写一个自定义 C99 解析器 我得到了语法this关联 该语法表示以下是声明数组的有效语法 int arr 语法的相关部分如下 direct declarator identifier declarato
  • 无法阻止 Protractor 显示文件下载提示

    Problem 我正在测试下载文件 但是当我触发下载时 会出现 另存为 提示 我在这看到了一个解决方案所以问题但这似乎对我不起作用 Config 我的量角器配置文件如下所示 coffeescript exports config capab
  • 写入新文件时自动创建完整路径

    我想写一个新文件FileWriter 我这样使用它 FileWriter newJsp new FileWriter C user Desktop dir1 dir2 filename txt Now dir1 and dir2目前不存在
  • 无法解析的日期:“Fri Oct 10 23:11:07 IST 2014”(偏移量 20)

    我创建了这个函数来解析日期 但这给出了异常 Unparseable date Fri Oct 10 23 11 07 IST 2014 at offset 20 请帮助 因为我无法弄清楚这段代码有什么问题 public Date parse
  • 从一个列表列表中减去另一个列表列表

    我想从另一个列表列表的相应元素中减去一个列表列表 例如 a 1 2 3 4 b 1 2 3 0 预期输出为 c 0 0 0 4 仅使用一个列表与另一个列表进行减法很容易 c i j for i j in zip a b 但这不适用于列表和返
  • “User”类型的字段“me”必须具有一系列子字段

    嗨 我正在努力学习GraphQL语言 我有下面的代码片段 Welcome to Launchpad Log in to edit and save pads run queries in GraphiQL on the right Clic
  • iOS:自定义键盘:我想将图像发送到textDocumentProxy(输入控件)

    我正在实现仅包含图像的自定义键盘 并且希望在单击图像时将图像发送到 textDocumentProxy 输入控件 例如 textview 但不能克服它 到目前为止 我能够将文本 字符串发送到输入控件 但不能发送图像 是否可以将图像发送到输入
  • 快速重命名后退导航项

    我正在尝试编辑返回项目在导航控制器中 我有这个场景 导航控制器 gt 表视图控制器 gt TableViewController 在第二个 TableViewController 中 我想将后面的项目重命名为 xxxx to Back 有没
  • Firefox 开发者工具添加新规则?

    我决定尝试一下内置的 Firefox 开发者工具 看起来似乎不错 但是 我无法从 Inspector Rules 找到如何向 CSS 添加新规则 我的意思是 my new rule 不仅仅是默认打开的 element 规则 最终编辑 现在通
  • 是否可以在 HTML5 画布中使用多个图像?

    我正在尝试将 10 张不同的图像加载到画布中 我的计划是最终将这些图像制作成动画 但现在它们似乎正在互相覆盖 这是我的代码 var DrawLetters function for i 0 i lt howManyLetters i thi
  • 将 Sqlite 数据库文件重新嵌入到同一个可执行文件中

    我正在创建 Win Form 应用程序 我正在添加一个空的 Sqlite 数据库文件 其中包含表作为嵌入式数据源 在运行时 我将数据库文件提取到应用程序路径中 并将值插入到该数据库文件的表中 再次关闭应用程序时 我必须将数据库文件更新或替换
  • Powershell:更新 IIS web.config

    需要更新 IIS web config 以通过添加 SSL 来保护 cookie Web Config 当前包含以下代码片段
  • 从 chrome.webRequest.onBeforeSendHeaders 中提取 cookie

    我正在开发一个 Firefox 插件来拦截 HTTP 请求并提取 cookie 我能够从标头中提取 用户代理 但无法提取 cookie 我使用的代码如下 chrome webRequest onBeforeSendHeaders addLi
  • 让 vibrate() 在没有 PhoneGap 的浏览器中工作

    有谁知道如何让 navigator vibrate 之类的东西直接在网站的浏览器中工作 不使用 PhoneGap 和 webview 没有找到任何命令http www w3 org TR vibration 似乎有效 我能找到的只是对使用
  • 使用 jQuery 获取选定复选框的值

    我想循环遍历复选框组 locationthemes 并使用所有选定的值构建一个字符串 因此 当选择复选框 2 和 4 时 结果将是 3 8
  • 如何在后台首次运行/调用 CtrlP - VIM

    打电话时CtrlP第一次它导致构建缓存相当延迟 有没有办法在后台运行它 这样我就可以继续在 vim 中做事情 如果您需要加快索引速度CtrlP 您可以使用aggrep 文件 从索引中排除某些文件夹和文件 并设置缓存位置 为此 请将这些行放入
  • WordPress 管理员 - 需要自定义元检查

    我在 WordPress 管理中添加自定义用户元 并且我希望我的两个自定义字段是必需的 但是如何显示错误并告诉 WordPress 在出现错误时不更新配置文件 add action personal options update sweet