首页
学习
活动
专区
圈层
工具
发布

WordPress二次开发之调用ajax

以字体样式插件为例,当用户输入字体颜色值时异步判断值类型是否合法 引入JS 通过wp_enqueue_script方法引入 wp_enqueue_script( $handle, $src, $deps...默认值:None $src:(可选)WordPress网站根目录下的JS路径。如:”/wp-includes/js/xxx.js”。...默认值:None $deps:(可选)依赖关系数组;加载该脚本前需要加载的其它脚本。默认值:array() $ver:(可选)指明脚本版本号的字符串(若存在版本号)。默认为false。...处理页面 第一个参数必须相同 wp_localize_script('my_test','ajax_object',array('ajax_url'=>admin_url('admin-ajax.php...处理页面 第一个参数必须相同 wp_localize_script('my_test','ajax_object',array('ajax_url'=>admin_url('admin-ajax.php

1.1K10

常见报错

Uncaught SyntaxError 未捕获的语法错误,最低级的错误,直接编译不通过。 通常情况是写错符号,比如for循环应该用分号的写了逗号,函数接受形参应该用逗号但是写了分号。...foo().then(v => console.log(v); e => console.log(e)) Uncaught ReferenceError 未捕获引用错误:Uncaught ReferenceError...: xxx is not defined 通常是使用了一个未定义的变量 console.log(a); //Uncaught ReferenceError: a is not defined a =...= new Promise((resolve, reject) => { console.log('ajax'); reject('no') //Uncaught (in promise...) no }) vue单向数据流 父子组件通信,父组件通过props给子组件传值,子组件可使用传过来的值,虽然props是在子组件定义的,但子组件不能直接修改props里面的值,但是如果props里的数据是

3.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    WordPress二次开发之插件权限控制

    以字体样式插件为例,我们在添加菜单时设置了参数 manage_options 表示有这个权限的角色才能创建该菜单,而这个权限只有管理员才有,只有管理员登录时才能看到该菜单 ,这是一种方式 add_menu_page...'manage_options', 'my_menus', array($this,'my_settings_page') ); current_user_can 第二种方式 通过...除了用户权限的控制,我们还希望脚本文件,css文件等也受到控制,默认情况下插件引入的js文件会作用域全局,也就是插件的js代码在当前插件页面有效,在后台其他页面甚至前台也会有效,这不符合常理,因此可以通过...处理页面 第一个参数必须相同 wp_localize_script('my_test','ajax_object',array('ajax_url'=>admin_url('admin-ajax.php...'))); } } 我们向 admin_enqueue_scripts钩子添加处理函数 ,在函数体内判断当前页面id,如果为 options-general则加载js文件,这样

    68210

    WordPress Ajax 异步加载 自定义评论表情

    最近为了考试都复习成狗熊样啦~~我要缓缓折腾折腾WordPress 先。今天带来本人最新的折腾成果: Ajax异步加载自定义评论表情。...WordPress Ajax 异步加载 自定义评论表情效果 直接在点击下面的评论框效果就出来了,有兴趣的可以用开发者工具看看是不是异步加载。 效果图示: ? ?...WordPress Ajax 异步加载 自定义评论表情教程: 一、删除你主题上来自于《WordPress中添加自定义评论表情包的方法(附三套表情包下载)》一文的所有代码(重要!)...function smiley_ajax(){ jQuery('textarea').focus(function() { jQuery.ajax({ url: "", type:"POST...(){ if( isset($_POST['action'])&& $_POST['action'] == 'smiley_ajax_action'){ include_once

    1.9K91

    WordPress 文章无法保存?试试这些实用修复技巧

    试试这些实用修复技巧在使用 WordPress 撰写博客、更新内容时,你是否遇到过“点击发布/更新却毫无反应”、“提示更新失败,此响应不是合法的json响应”、“文章保存失败,请稍后再试”等情况?...二、插件冲突:功能强大≠没有副作用许多插件,尤其是安全类、SEO类、表单类插件,可能会通过钩子干扰 admin-ajax.php 的正常执行,导致返回非 JSON 内容。...五、核心文件损坏:WordPress 的“系统感冒”虽然少见,但 admin-ajax.php 或 class-wp-ajax-response.php 等核心文件若被病毒篡改或升级中断,也可能引发此问题...六、浏览器缓存干扰:前端也有“记忆偏差”浏览器缓存可能加载了旧版 JavaScript 或 jQuery 库,导致无法解析新的 AJAX 响应。...当你遇到 WordPress 发布或更新文章失败时,不要急着重装系统或更换主机。先冷静排查,再逐步排除 —— 大多数问题都只是“小感冒”,不是“大手术”。

    16610

    WordPress 5.0 RCE 详细分析

    1、通过Post Meta变量覆盖,修改媒体库中图片的_wp_attached_file变量。 这个漏洞是整个利用链的核心点,而WordPress的修复方式也主要是先修复了这个漏洞。...(WordPress 5.1-alpha-44280) 2、通过图片的裁剪功能,将裁剪后的图片写到任意目录下(目录穿越漏洞) 在WordPress的设定中,图片路径可能会收到某个插件的影响而不存在,如果目标图片不在想要的路径下时...所以这里我们可能需要新传一个媒体文件,然后通过变量覆盖来设置这个值。 加载模板 当我们成功设置了该变量之后,我们发现,并不是所有的页面都会加载模板,我们重新回到代码中。...line 1755 [ ] 只要我们能让模板加载时进入get_page_template或get_single_template,我们的模板就可以成功被包含。...修复 1、由于该漏洞主要通过图片马来完成RCE,而后端图片库为gd时,gd会去除图片信息中exif部分,并去除敏感的php代码。

    1.4K00

    Wordpress 5.0 RCE详细分析

    /themes/twentynineteen/32.jpg 裁剪 同理保留改数据包,并将POST改为下面的操作,其中nonce以及id不变 action=crop-image&_ajax_nonce...(WordPress 5.1-alpha-44280) 2、通过图片的裁剪功能,将裁减后的图片写到任意目录下(目录穿越漏洞) 在WordPress的设定中,图片路径可能会收到某个插件的影响而不存在,如果目标图片不在想要的路径下时...所以这里我们可能需要新传一个媒体文件,然后通过变量覆盖来设置这个值。 加载模板 当我们成功设置了该变量之后,我们发现,并不是所有的页面都会加载模板,我们重新回到代码中。...line 1755 只要我们能让模板加载时进入get_page_template或get_single_template,我们的模板就可以成功被包含。...修复 1、由于该漏洞主要通过图片马来完成RCE,而后端图片库为gd时,gd会去除图片信息中exif部分,并去除敏感的php代码。

    1.5K20

    WordPress插件大全

    当你用相关的插件设置用户只有在登录后才能访问你的网站时,你可以限制只有登录的用户能下载文件。 Semi-Secure Login – 提高wordpress的安全性,加密登录。...GT Post Approval – 在多用户博客中以管理员身份查看日志时添加“Approve”和“Reject”按钮。...Sidebar Widgets – 可以在侧栏自由加载各种小东西。 Simple Pop-up Images – 点击缩略图通过弹出式窗口浏览大图。...MightyAdsense – 不用修改Wordpress模板即可将代码加入,且可以指定在每页显示广告块的数量。 Paypal Donate – 让访问者通过Paypal给你募捐。...Post2Page – 将日志转为静态页面。 Robots.TXT – 协助你方便地编辑robots.txt。 Redirection – 这个插件基于Ajax,操作极为方便。

    2.5K50

    【JavaScript】解决 JavaScript 语言报错:Uncaught ReferenceError: XYZ is not defined

    这种错误通常发生在试图使用一个未声明的变量或标识符时。这类错误可以在调试和开发过程中频繁遇到,了解其成因和解决方法对于提升代码质量和开发效率非常重要。...常见场景 变量未声明或拼写错误 使用未定义的函数或对象 块级作用域中的变量访问 代码执行顺序问题 通过理解这些常见场景,我们可以更好地避免和处理这些错误。...使用未定义的函数或对象 myFunction(); // Uncaught ReferenceError: myFunction is not defined 此例中,myFunction 函数未定义或声明...” 错误在 JavaScript 开发中非常常见,但通过了解其成因并采用适当的编码实践,可以有效预防和解决此类错误。...执行顺序:确保代码按照正确的顺序执行,避免未定义错误。 通过这些措施,可以显著提高代码的健壮性和可靠性,减少运行时错误的发生。

    1.7K20

    WordPress5.0 远程代码执行分析

    环境搭建 我们直接从 WordPress 官网下载 5.0 版本代码,搭建成功后先不要登录,因为从 3.7.0 版本开始, WordPress 在用户登录时,会在后台对小版本的改变进行更新,这样不利于我们分析代码...我们可以通过将 AUTOMATIC_UPDATER_DISABLED 设置成 true ,来禁止 WordPress 后台自动更新(在 wp-config.php 文件开头添加 define('AUTOMATIC_UPDATER_DISABLED...漏洞分析 路径穿越漏洞 该漏洞通过路径穿越和本地文件包含两个漏洞的组合,最终形成远程代码执行。我们先来看路径穿越问题。通过构造如下数据包,我们即可在数据库中插入一个恶意的路径: ?...接着我们再把目标转移到 WordPress 的裁剪图片功能,通过该功能结合上面数据库中的可控的图片路径,我们即可实现将上传的图片移动到任意路径下。...在 wp_ajax_crop_image 方法中,根据 POST 中的 id 来校验 ajax 请求数据以及判断是否有权限编辑图片,然后将 $_POST['cropDetails'] 中的数据传入 wp_crop_image

    1.5K30

    ReferenceError: x is not defined*:变量 `x` 未定义的完美解决方法

    ReferenceError: x is not defined*:变量 x 未定义的完美解决方法 摘要* 大家好,我是默语,今天我们要讨论的是一个常见但容易让人头疼的错误——ReferenceError...引言* 在JavaScript开发中,ReferenceError*是一个非常常见的错误,特别是在处理变量时。通常情况下,这个错误表明你在代码中引用了一个未定义的变量,也就是变量x。...* 当我们看到 ReferenceError: x is not defined 时,意味着JavaScript引擎无法找到你所引用的变量x。...,y 是在 example 函数内声明的,因此只能在这个函数内部访问,函数外部访问时就会抛出 ReferenceError。...总结* ReferenceError: x is not defined 是一个非常常见的JavaScript错误,通过仔细检查变量声明、作用域以及避免暂时性死区问题,我们可以有效避免和解决这个问题。

    2.2K10

    WordPress 4.6 发布:原生字体和更新更简洁

    WordPress 4.6 版本终于发布了,这个版本弃用了 Open Sans 字体,现在后台使用应该更加快速了,并且还更新了 WordPress 插件和主题的更新模式,更加简洁顺滑。...简洁更新 WordPress 后台的插件和主题的更新模式更加简洁,现在 WordPress 采用 AJAX 更新模式,无需刷新页面即可更新主题和插件。...内容恢复 现在 WordPress 使用浏览器的本地存储功能来自动保存文档,所以在 WordPress 4.6 恢复已保存的内容将更加简单。...底层引擎改进 Resource Hints:资源提示(Resource Hints)可以让浏览器决定预加载哪些资源,WordPress 4.6 自动根据网站的样式和脚本文件自动设置。...WP_Term_Query 和 WP_Post_Type:新的 WP_Term_Query 类库可以更加方便去查询 term 信息,新的 WP_Post_Type 对象可以更加简洁操作 post type

    53510

    优化WordPress性能的高级指南

    挤压最多的WordPress选项(Squeezing the Most out of WordPress Options) 在WordPress的选项API提供了一系列的工具,轻松加载或保存数据。...WordPress不仅给我们处理它们的方法,而且还使我们以最有效的方式这样做。 一些选项甚至在系统启动时直接加载,从而为我们提供更快的访问(创建新选项时,我们需要考虑是否要自动加载它)。...AJAXing the Fastest Way 如果我们需要通过AJAX与我们的网站沟通,WordPress在处理服务器端的请求时提供一些abstraction( offers some abstraction...例如,如果我们在用户滚动我们的主页时动态加载更多的帖子,那么最好直接调用其他前端页面,这将获得被缓存的好处。 然后,我们可以通过浏览器中的JavaScript来解析结果。...摧毁WordPress就是缓慢的概念(Destroy the Notion That WordPress is Just Slow) 这些只是开发人员在编写WordPress时应考虑的几点建议。

    7.7K20

    WordPress插件Google Analytics by Yoast存储型XSS漏洞(含POC)

    WordPress著名插件Google Analytics by Yoast插件中曝出存储型XSS漏洞,该漏洞能够让未被授权的攻击者在WordPress管理面板中存储任何HTML代码,包括JavaScript...在默认WP配置下,恶意的用户可以利用这个漏洞通过插件/主题编辑器在服务器上写PHP文件(见视频演示)。...如果攻击者在Google分析账号设置中输入标签之类的HTML代码,这些代码就会出现在WordPress管理面板中,任何浏览这些设置时就会触发。...reauth=1">reauth POST action="http://YOUR.BLOG/wp-admin/admin-post.php"> 加载更加复杂的脚本。可以使用ajax调用加载提交管理表单,可以使用插件编辑器写入服务器端PHP代码,并执行。

    1.5K100

    WPJAM Basic 详细介绍:一键优化 WordPress 文章设置和操作

    在 WordPress 对文章的操作是最多和最频繁的,那么怎么优化呢?...后台的文章列表页是否全面实现AJAX操作,然后还支持显示和设置文章缩略图, 显示和修改文章浏览数,显示排序下拉选择框,支持通过作者进行过滤和支持上传外部图片这5个功能。...全面AJAX操作 在 WordPress 后台文章列表页全面实现AJAX操作之后,在列表页点击导航,进行搜索,点击分类筛选等这些查询操作,都不再重新加载页面,而是会首先显示加载效果的 loading 的图片...点击作者筛选:分类筛选,标签筛选,都是 AJAX 操作。...404跳转:增强404页面跳转到文章页面能力,这个应用于比较多 post_type 的情况。 除此之后,在文章快捷管理方面,我还提供两个扩展:

    73120
    领券