Questions tagged «plugin-development»

WordPress插件可轻松修改,自定义和增强WordPress博客。您可以使用WordPress插件添加功能,而无需更改WordPress的核心编程。

3
我应该使用wpdb prepare吗?
我是SQL的新手,我想知道是否需要对wpdb->prepare我创建的表进行以下查询 global $wpdb; $tablename = $wpdb->prefix . "my_custom_table"; $sql = "SELECT * FROM " . $tablename . " ORDER BY date_created DESC"; $resulst = $wpdb->get_results( $sql , ARRAY_A ); 我需要在prepare这里使用吗?我该怎么做? 干杯

5
如何将JavaScript片段添加到需要jQuery的页脚中
我知道我可以使用以下代码将脚本文件添加到需要jquery的wordpress页脚中: <?php function my_scripts_method() { // register your script location, dependencies and version wp_register_script('custom_script', get_template_directory_uri() . '/js/custom_script.js', array('jquery'), '1.0', true); // enqueue the script wp_enqueue_script('custom_script'); } add_action('wp_enqueue_scripts', 'my_scripts_method'); ?> 但是,如果我只想添加普通的jquery内联代码片段而不是文件,该怎么办?如何才能做到这一点。 编辑 我知道我可以使用此脚本在页脚中添加一些内容: <?php function myscript() { ?> <script type="text/javascript"> // This depends on jquery </script> <?php } add_action('wp_footer', 'myscript'); 但是,如何指定使用的脚本需要运行jquery。



5
如何在不使用内联样式的情况下向插件添加CSS选项?
我最近发布了一个插件WP Coda Slider,它使用短代码将jQuery滑块添加到任何帖子或页面。我要在下一版本中添加一个选项页面,并且我想包括一些CSS选项,但是我不希望插件将样式选择添加为内联CSS。我希望这些选项在调用时被动态添加到CSS文件中。 我也想避免使用fopen或写入文件来解决安全问题。 这样的事情容易实现吗?还是直接将样式选择添加到页面上会更好吗?


2
前端未定义ajaxurl
我正在尝试在前端创建一个ajaxform。我正在使用代码 jQuery.ajax( { type: "post", dataType: "json", url: ajaxurl, data: formData, success: function(msg){ console.log(msg); } }); 我正在为此错误 Uncaught ReferenceError: ajaxurl is not definedworklorAjaxBookForm @ ?page_id=2:291onclick @ ?page_id=2:202 在管理后端上使用类似代码时。我必须使用哪个URL来处理ajax请求?

1
在WP 4.5可视编辑器中添加自定义文本模式
4.5已经发布,有了新的文本模式。我想知道如何添加自己的自定义模式。 看一看wp-includes/js/tinymce/plugins/wptextpattern/plugin.js似乎很简单。 var spacePatterns = [ { regExp: /^[*-]\s/, cmd: 'InsertUnorderedList' }, { regExp: /^1[.)]\s/, cmd: 'InsertOrderedList' } ]; var enterPatterns = [ { start: '##', format: 'h2' }, { start: '###', format: 'h3' }, { start: '####', format: 'h4' }, { start: '#####', format: 'h5' }, { start: '######', …

4
自动确定插件所需的最低WordPress版本?
开发插件时,是否可以自动确定运行该插件所需的最低WordPress版本?我想确保Requires标头是正确的,但是每次我调用新的核心函数时都要手动检查,这既乏味又容易出错。 我认为脚本可以很容易地弄清楚: 扫描插件中的所有文件。 解析出基础上,所有的类实例化和函数的调用new foo( [...] ),foo::bar( [...] ),bar( [...] ),call_user_func( [...] ),等语法。 使用@sincephpDoc标记解析WP源,以确定何时将这些类/函数中的每一个添加到WordPress 。 生成一份报告,列出每个类/函数及其添加的版本,以及包括所有类/函数的WordPress最早版本。 我环顾四周,却找不到类似的东西,也没有时间自己写。有人知道现有的解决方案吗?


2
在插件中包含内联CSS可以吗?
通常在插件中,我会使用wp_enqueue_style添加样式。但是,我当前正在创建一个只需要几行CSS的插件,并且我想知道内联样式以保存请求是否更好。显然,使用wp_enqueue_style有很多优点,但是对于这样一小段CSS,是否值得额外要求?在这方面是否有公认的“最佳实践”?

3
我如何最好地处理自定义插件页面操作?
我经常遇到同样的烦恼,所以我想看看是否有任何想法或经验。 我创建了一个使用其自己的管理页面的插件。它必须。现在,我整理出了WP_List_Table()的内容,我必须说这很棒...但是... 自定义插件页面始终加载,admin.php?page=...除非我不希望直接从插件目录加载它们。现在,如果我从该页面执行“操作”,则需要以某种方式进行处理,然后将其重定向回该页面而不使用action参数。真的,不管我执行GET还是POST。 WP在所有内部页面上都在同一页面上执行此操作,它检查是否有动作,如果有,则对其进行处理,然后在没有动作的情况下重定向到自身。这是可能的,因为admin-header尚未在这些页面上加载。 但是,如果您尝试在自己的页面上执行此操作,则一半的管理界面已发送到浏览器,因此无法再进行重定向。显然,解决方案是直接POST / GET到另一个页面,在该页面上加载WP框架,进行处理,然后重定向回原始页面...但是...有点烦人,因为...我的原始页面是通过回调加载的,因此它在我的类的方法中运行。那好美丽。 如果我加载一个单独的页面,则必须手动添加wp-load.php并且不在类的范围内,这很烦人,在我的情况下,这尤其会困扰我,因为我只是匿名实例化了我的插件类,因此没有人可以访问它从外部。 因此,经过漫长的故事之后...有人提出了一个很好的解决方案来通过回调加载另一个页面而又没有设置整个管理界面吗? (我知道一种解决方法...我可以将一个函数挂接到其中load-....,以检查action参数,然后进行处理和重定向。但是我想知道是否有更好的方法。) 谢谢。

3
此代码将运行多少次?(或者,奶奶有多富?)
假设的示例,但在现实世界中适用(对于像我这样学习的人)。 给出以下代码: <?php function send_money_to_grandma() { internetofThings("send grandma","$1"); } add_action('init','send_money_to_grandma'); add_action('init','send_money_to_grandma'); 好的,现在我打开我的WP网站并登录。我在Admin中浏览了几页。在笔记本电池没电之前,“ init”操作总共触发了100次。 第一个问题: 我们寄给奶奶多少钱?是1美元,2美元,100美元还是200美元(或其他价格)? 如果您还可以解释您的答案,那就太好了。 第二个问题: 如果我们要确保只给奶奶寄1美元,那最好的方法是什么?全局变量(信号量)在我们第一次发送$ 1时设置为“ true”吗?还是有其他测试可以查看某个动作是否已经发生并阻止其多次触发? 第三个问题: 这是插件开发人员担心的事情吗?我意识到我的示例很愚蠢,但我同时考虑了性能问题和其他意外副作用(例如,如果函数更新/插入数据库)。


1
如何为我的插件创建API?
我一直在为WordPress开发插件,我开发的大多数插件使用两到三个类,因此不如Buddypress或WooCommerce大。 我计划开发两个开源插件来交付某种复杂的系统(目前无法共享详细信息,但稍后在开发过程中),其他开发人员可以自定义功能,并且其系统必须与Bud​​dypress和WooCommerce相同。 当我检查这些插件文件并意识到它们已经注册了自己的操作和过滤器时,开发人员可以根据需要进行修改。但是,我的问题是无法完全理解,我该如何编写一个插件,让其他人可以灵活地覆盖功能以及添加自己的功能。 我知道很难给出确切的答案,但是我需要某种入门指南,以便朝正确的方向前进。我需要注册自己的操作和过滤器吗?如果是,怎么办?如果不是的话,我有什么选择? 您的建议将对我有很大帮助。

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.