Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 修改WordPress登录页面时出现问题_Php_Jquery_Wordpress - Fatal编程技术网

Php 修改WordPress登录页面时出现问题

Php 修改WordPress登录页面时出现问题,php,jquery,wordpress,Php,Jquery,Wordpress,所以我正在重新修改我的登录页面。。。我遇到了另一个问题。下面是一个场景。。。我有一个插件,它由两个组件组成:一个脚本重写登录/注册表单上的用户名字段,另一个函数在注册时重写验证处理程序 这是有问题的文件 validator.php 请将函数包装成: jQuery( document ).ready ( function( $ ) { // your js here } ); 无需将(jQuery)放在函数后面 如果在加载页面之前运行DOM修改,它将无法工作。您

所以我正在重新修改我的登录页面。。。我遇到了另一个问题。下面是一个场景。。。我有一个插件,它由两个组件组成:一个脚本重写登录/注册表单上的用户名字段,另一个函数在注册时重写验证处理程序

这是有问题的文件

validator.php


请将函数包装成:

jQuery( document ).ready
(
   function( $ )
   {
        // your js here
   }
);
无需将(jQuery)放在函数后面

如果在加载页面之前运行DOM修改,它将无法工作。您现在可以将其加载到标题中,并确保它将启动

我不太明白为什么在提交之前会重置这些字段,因为您没有绑定到任何提交事件处理程序。。。如果这种情况仍然发生,请告诉我们

如果您在登录页面上,并且没有将此js发送到站点上的所有页面,那么您可能希望签入php(使用登录头操作),而不是在js中调用
if($('body').hasClass('login'))
。但在优化之前,先让它工作


如果提交没有到达后端,那可能是因为您的javascript使用与wordpress输入相同的ID重新创建输入,从而替换它们。据我所知,那根本不是你想要的。只需更换现有标签。

终于找到了答案!我做这件事的方式很可怕。。。我真的需要温习一下我的JS/jQuery。下面是我最终得到的结果,它在我所有的测试用例中都能很好地工作,并且不仅重写字段标签,还重写消息

jQuery(document).ready(function ($) {
'use strict';
/*global document: false */
/*global $, jQuery */
    $('label').each(
        function () {
            $(this).html($(this).html().replace('Username', 'Minecraft Username'));
        }
    );
    $('.message').each(
        function () {
            $(this).html($(this).html().replace('username', 'Minecraft username'));
        }
    );
});

谢谢你的提示!这确实解决了无法正确重写的问题,但现在该操作根本不起作用。此外,考虑到有多种方法可以更改登录url,您认为什么是确定用户是否在登录页面上的更好方法?@Ghost1227 first things first first things first。您是否执行了类似于
error\u log(print\r($\u POST,true))的操作
查看您得到的是否正是您想要的?还有,这个动作到底有没有开火?如果找不到动作触发,请在wp-login.php中的register\u new\u user()中检查$\u POST。如果失败,请在admin-ajax.php上检查它,看看哪里出了问题。在检测到您的登录页面时,有一个名为“login_head”的操作,只有在登录页面上时,您才可以通过该操作加载样式。login_head工作得很好!事实上,它处理重写的方式比我做的要流畅得多!所以谢谢你。。。至于另一个问题,添加错误日志行没有返回任何内容。当我提交表单时,它会清除用户名框中的值,并返回两个错误:“错误:请输入用户名。”和“错误:Minecraft帐户无效”。我仍然完全不知道为什么要清除用户名字段。为什么要在js中创建新的输入元素?Wp提供给他们没有?据我所知,在前端,你只想替换一些文字,说“minecraft用户名”而不是“用户名”,在后端,你想验证。对吗?在这种情况下,你的js做了很多…测试也禁用了javascript。
jQuery( document ).ready
(
   function( $ )
   {
        // your js here
   }
);
jQuery(document).ready(function ($) {
'use strict';
/*global document: false */
/*global $, jQuery */
    $('label').each(
        function () {
            $(this).html($(this).html().replace('Username', 'Minecraft Username'));
        }
    );
    $('.message').each(
        function () {
            $(this).html($(this).html().replace('username', 'Minecraft username'));
        }
    );
});