Questions tagged «javascript»

一种客户端脚本语言,可用于制作交互式网站。有关在WordPress上下文之外使用JavaScript的问题不在主题之列,但可能会在Stack Overflow上提出。



5
如何检查您是否在WP Admin部分的特定页面中?例如,如何检查我是否在“用户”>“您的个人资料”页面中?
我正在构建一个插件,我想在管理头中添加一些javascript,但仅适用于某些管理页面。我并不是指您自己创建的WordPress页面中的页面,而是现有的管理部分页面(如“您的个人资料”,“用户”等)。是否有专门用于此任务的wp函数?我一直在寻找,我只能找到布尔函数is_admin和动作钩子,但不能找到仅检查的布尔函数。

1
是否可以将wp.media.editor Modal重用于非媒体对话框
展开:我想利用相同的Modal代码/外观(如wp.media.Modal,wp.media.FocusManager中使用的那样)打开我自己的自定义对话框的模式,而不是Media Editor。过去,我曾使用thickbox进行此类操作,但wp.media.Modal似乎是模态技术的未来之路-更不用说它看起来很酷了。 我在JS源代码中打了一点点,并提出了一些可能的解决方案: “借用”代码media-views.js并在我的插件中使用它。 “扩展” wp.media.Modal(毕竟是Backbone View)。 创建一个自定义实现,jQueryUI等。 只是放弃并使用thickbox。 借用似乎比使用wp.media.Model.extend({})危险小,但浪费。我不是jQueryUI模态的忠实拥护者,但是它将完成这项工作。同时,我可以对模式进行自定义实现(或基于另一个lib)。 感觉好像我遗漏了一些明显的东西:是否有人将其拖延了?还是新的媒体库模式代码“太新”以至于无法重用?

1
如何在插件JavaScript中添加defer =“ defer”标签?
我无法在插件JavaScript中添加延迟标记。Google开发人员的pagespeed测试建议我在联系表单7 javascripts中添加defer标签。 这就是联系表7在标头中包含javascript的方式。 add_action( 'wp_enqueue_scripts', 'wpcf7_enqueue_scripts' ); function wpcf7_enqueue_scripts() { // jquery.form.js originally bundled with WordPress is out of date and deprecated // so we need to deregister it and re-register the latest one wp_deregister_script( 'jquery-form' ); wp_register_script( 'jquery-form', wpcf7_plugin_url( 'jquery.form.js' ), array( 'jquery' ), '2.52', true ); $in_footer = …

4
可以使用WP脚本/样式加载器在前端连接和gzip脚本和样式吗?
WP在wp-admin中包含一个不错的javascript加载器:http : //core.trac.wordpress.org/browser/tags/3.0.4/wp-admin/load-scripts.php 和CSS加载器:http: //core.trac.wordpress.org/browser/tags/3.0.4/wp-admin/load-styles.php 我想知道是否也可以在前端使用它们,而不仅仅是admin,因为它们可以串联所有排队的脚本,并将它们作为单个gzip文件提供

5
WP Rest API-如何获取特色图片
我对这个API还是很陌生,实际上到目前为止我只花了几个小时。我已经完成研究,但找不到任何东西... 问题是,我似乎无法获得帖子的精选图片。JSON返回"featured_media: 0"。 getPosts: function() { var burl = "http://www.example.com/wp-json/wp/v2/posts"; var dataDiv = document.getElementById('cards'); $.ajax({ url: burl, data: data, type: 'GET', async: false, processData: false, beforeSend: function (xhr) { if (xhr && xhr.overrideMimeType) { xhr.overrideMimeType('application/json;charset=utf-8'); } }, dataType: 'json', success: function (data) { console.log(data); //question: data->featured_image: 0?! var theUl = …

2
AJAX调用期间是否曾经调用过functions.php文件?调试AJAX
试图找出程序员遇到的问题。我想知道functions.php当您执行管理端AJAX时是否会调用该文件?我知道当您进行AJAX调用时,会加载一部分WP以处理该调用并发送回响应。是functions.php包含在该文件? 我问的原因是因为他正在使用Meta-Box`插件中的类,并将其加载为主题的一部分。该类中有一些AJAX仅返回空响应,我认为是因为处理响应的代码未加载。WP处理AJAX时加载的内容是否有任何文档?

4
触发3.5中新媒体管理器的刷新
我试图弄清楚如何在3.5版的新媒体对话中“刷新”媒体库。我是从外部图像库WordPress的库添加图像(通过媒体对话选项卡/ iFrame的组合),它工作正常,但我为了显示新加入的图像关闭并重新打开对话(其中有已成功添加到库中)。 我知道有wp.media.editor.open()和wp.media.editor.close()方法,但是我无法设法在源代码中找到sort()或refresh()(或其他)。实话实说,源代码是相当精读的,并且console.log似乎对ebone.js并没有多大帮助。有任何想法吗?

3
如何在自定义帖子添加/编辑页面上加入脚本?
仅在有人添加或编辑我创建的自定义帖子类型(称为“食谱”)时,我才尝试加入JS脚本。目前,当我这样做时,脚本可以正常运行: if (is_admin()){ wp_enqueue_script( 'my-script' ); } 但这会在每个管理页面中加载它,我假设我需要将其连接到函数,但是我不知道它会是什么。 提前致谢!

2
在后端添加小部件时执行Javascript
我有附加了javascript控件的小部件。 如果在窗口小部件管理页面加载时窗口小部件存在,则控件可以正常工作。 当我添加新的小部件时,它们无法正常工作,我得到了标记,但是没有任何JavaScript事件生效。 如果我保存了新的小部件,则在重新加载表单时,控件将正确创建并且可以正常工作。 刷新页面也可以解决此问题,但仅适用于现有窗口小部件。新的小部件仍然存在此问题。 具体来说,我在这些时候对选择输入运行selectize: 准备好文件 Ajaxcomplete 我已经验证我的代码可以按需在每个事件上运行,但是结果却不符合预期。 这是一个演示该问题的测试插件: https://gist.github.com/Tarendai/8466299 您会看到我有一个计数器,它发现它可以转换的每个select元素都会增加。 笔记: 加载小部件页面后,我可以看到JS控制台中的计数器正在按预期方式增加 当我添加一个新的小部件时,代码将运行,但是,它找不到能在其上运行的所有选择元素,如found.length为0所示。情况并非如此,因为该类型的每个新小部件都应有一个选择元素 select元素具有一个用于标识它们的类,一旦应用了selectize库,便会删除该类,以防止对现有小部件进行重复和重新处理。 在使用selectize之前,我使用了Select2,它具有相同的问题 注释掉AJAX代码,我希望新的小部件具有标准的select输入。他们不。我不知道为什么会这样 那么,如何在不告诉用户在进行更改之前刷新/单击保存的情况下使selectize控件起作用?

1
如何使用Wordpress默认的密码强度仪脚本
我已经排队使用wordpress默认密码强度计,但是不知道如何使用它。当前,法典页面没有任何指向其文档的链接。是否有任何人可以链接到其演示页面或文档? 解决 HTML非常简单。将有两个密码框。一个div显示密码结果,一个div隐藏文件以获取用户名。当然,您已经入队jquery并且wp_enqueue_script('password-strength-meter');在jQuery代码之前。这是使其工作的jQuery代码: jQuery(document).ready(function(){ if(jQuery("#pass-strength-result").length > 0){ jQuery("#pass1").bind("keyup", function(){ var pass1 = jQuery("#pass1").val(); var pass2 = jQuery("#pass2").val(); var username = jQuery("#username").val(); var strength = passwordStrength(pass1, username, pass2); updateStrength(strength); }); jQuery("#pass2").bind("keyup", function(){ var pass1 = jQuery("#pass1").val(); var pass2 = jQuery("#pass2").val(); var username = jQuery("#username").val(); var strength = passwordStrength(pass1, username, pass2); updateStrength(strength); …

5
可以使WordPress支持websockets吗?
Websocket是封装在HTML5中的一种很酷的尖端技术。基本上,您可以打开一个websocket来启用与Web服务器的持久性双向通信。客户端(用户界面)可以自发发送消息,服务器也可以发送消息。 现有技术(JavaScript)要求一切都由客户端启动-服务器无法将客户端未请求的任何内容发送到客户端。因此,脚本需要不断刷新和重新请求可能未更改的数据。Websocket在“ 推送 ”的基础上进行更多工作,并随时让新数据通过管道传输。 不幸的是,大多数(无论如何,我都能找到)websocket实现需要特定的服务器应用程序才能工作。人们将在端口80和443(http和https)上运行Apache,并在另一个端口(即8000或8080)上运行另一个系统(通常是Node.js)来处理websocket请求。 显然,这可行,但是有一些缺点。 我有一个要构建的插件,可以从在WordPress中使用websocket 大大受益。但是,如果用户需要安装第二台Web服务器(对于共享主机的用户通常是不可能的),那么它将不能作为插件使用。 那么,对于任何有经验的人,您将如何使WordPress与websocket兼容?您是让WordPress处理通信本身,还是将另一个小型服务器脚本捆绑到插件中?如果您已经完成此操作,如何在不破坏WordPress本身的情况下完成它呢? 可能的资源? 可扩展的Web套接字服务器 PHP Websocket PHP和Websockets 9/21/11更新 关于Apache(在共享主机上运行WP的最常用安装的服务器)如​​何无法真正原生地处理websocket的话题,我想知道有没有其他选择。多个插件(例如JetPack)与外部服务或API通讯以生成内容。 统计信息从Automattic请求内容。Akismet从外部服务器来回发送数据。截止日期之后在发布时提交内容。一些SEO工具通过外部系统来回传递信息。 因此,作为将Websocket代码包含在WordPress插件中的替代方法,将Websocket服务托管在中央位置并让WordPress前端与其交互是可行的吗?


4
仅在存在特定的简码或窗口小部件时加载脚本
我需要一种在加载页面/帖子内容之前对其进行过滤的方法,这样,如果存在特定的短代码,我可以将脚本添加到页眉中。经过大量搜索之后,我在http://wpengineer.com上发现了这一点 。 function has_my_shortcode($posts) { if ( empty($posts) ) return $posts; $found = false; foreach ($posts as $post) { if ( stripos($post->post_content, '[my_shortcode') ) $found = true; break; } if ($found){ $urljs = get_bloginfo( 'template_directory' ).IMP_JS; wp_register_script('my_script', $urljs.'myscript.js' ); wp_print_scripts('my_script'); } return $posts; } add_action('the_posts', 'has_my_shortcode'); 这绝对是出色的,完全满足了我的需求。 现在,我需要进一步扩展它,并对侧边栏进行相同的操作。它可以是特定的窗口小部件类型,短代码,代码段或任何其他可以识别何时需要加载脚本的方法。 问题是在加载侧栏之前我不知道如何访问侧栏内容(所讨论的主题将具有多个侧栏)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.