您当前的位置:首页 > TAG信息列表 > plugin-development
多图像选择自定义小工具
我已经创建了一个swiper自定义旋转木马,作为自定义主题的模板部分。我想将主题的这个组件Widget化,以便对显示的内容有更多的控制。它被用作一个水平的徽标滑块,目前将使用一个带有图库的帖子来显示品牌徽标。如何为正在编写的小部件创建一个模式弹出窗口,以打开wp媒体库并选择多个图像作为滑块的图像?这可能吗?以下是实际代码:<?php $args = array( \'post_type\' => \'post\', \'name\' => \'brands log
在菜单设置中添加一个复选框
我正在寻找合适的钩子来在菜单设置中添加复选框,如果它存在,如何将值保存为选项。
Unit Testing action hook
我想对一个类执行单元测试,我的目标是:我想使用函数检查插件是否被激活:is_plugin_activeclass WC_Custom_Variable_Products_Dependencies { public function __construct() { add_action( \'admin_init\', [$this, \'check_environment\']); } public function check_
在类中使用筛选器和挂钩
我将深入使用oop来创建wordpress插件。我发现了一个有趣的article 关于钩子以及如何在类中使用它们。阅读后,我有一些疑问:在构造函数中使用挂钩是正确的,还是使用方法而不是构造函数更好?在类中定义过滤器或挂钩的最佳实践是什么?
将自定义Metabox添加到媒体库自定义窗口小部件
我正在实现一个自定义小部件来创建徽标滑块。最初的代码运行得很好,但当我在附件屏幕中添加了一个元盒以允许用户向图像添加外部链接时,我遇到了一些问题。我想做的是添加元盒,保存它的值,当小部件加载到前端时,检索用户为每个图像添加的链接。这些图像没有附加到任何帖子,目前我可以看到新的元盒,但只有当用户单击媒体库中每个图像的编辑链接时,才可以编辑它。我更希望看到媒体库主选择屏幕上的框。我也无法获取字段值,我认为这是因为代码中没有加载图像ID。public function initMetabox() {
我无法将is_admin控件添加到插件
我想在管理页面上隐藏我的插件,因为它与此冲突。然而,当İ添加控件时,wp表示存在严重错误。İ要添加此控件:if ( ! is_admin() ) { // Runs only if this PHP code is in a file that displays outside the admin panels, like the theme template. echo \'<div style=\"text-align: center\">Welcome t
PHP单元测试和WooCommerce常量
我试着在WC_VERSION 常数主要类别:class WC_Custom_Variable_Products_Dependencies { /** minimum WooCommerce version required by this plugin */ const MINIMUM_WC_VERSION = \'3.7.9\'; public function __construct() { add_
AJAX响应条带多维数组,无法解码
我正在使用wp_ajax_ 和wp_ajax_nopriv_ 在本地化脚本中,我传递了一个大的多维数组(它很大!)。它不需要任何JSON编码、解码。但我想在我调用ajax时对其进行编码。。。所以我用json_encode 在本地化脚本中(wp\\u json\\u encode也提供相同的输出)。。我通过ajax数据参数传递它。现在当我以json_decode($_POST[\'largejson\'], true)我得到的响应不是数组,而是带有大量反斜杠的字符串\\\":[{\\\"field_type
来自查询的自定义数组仅写入查询的最后一行
正在寻找对此的一些输入。我正在编写一个自定义数组,但有一个奇怪的问题。它似乎在循环中循环,删除以前的值,只存储查询的最后一行。有什么想法吗?global $wpdb; $queryresult = $wpdb->get_results(select query); $modified_result = array(); foreach($queryresult as $result){ $modified_result[\'name\']
如何在特征中重写主题的公共静态函数?
我使用一个具有公共静态功能的主题来显示页面的一部分,如:trait SomeTrait { public static function some_function() { ?> <div class=\"some_class\">Some content</div> <? } } 助手文件如下所示:class Helper { use SomeTr
Using id to show item
我正在做一个项目,我上传了一个gpx文件,并使用gpx的路径放入一个短代码插件我使用帖子id获取一个已填充的短代码我使用此代码获取短代码的信息,现在我想这样做,所以当我发布一篇带有gpx文件的新帖子时,它会自动获取id并使用它,我当前将id硬编码到其中,是否有修复方法?<?php global $wpdb; $thepost = $wpdb->get_row( $wpdb->prepare( \"SELECT * FROM $wpdb->postmeta WHER
向WordPress API添加AmChart界面
我正在使用amchart wordpress插件,并希望通过wp rest API为其添加支持。以下是我迄今为止所做的:在/包括/设置。php(添加到$args数组:这将创建/wp/v2/charts路由)\'show_in_rest\' => true, \'rest_base\' => \'charts\' 自定义帖子类型已在安装程序中注册。php组件: register_post_type( \'amchart\', $args );
插件干扰中通过Composer自动加载
我正在使用wordpress 5.3。x、 我正在使用\"fabpot/goutte\": \"^4.0\" 在我的wordpress插件之一的composer中。在我的主题中,我使用\"fabpot/goutte\": \"^3.8\". 两者都在使用require_once \'vendor/autoload.php\'; 自动加载composer 定义的库。我的插件似乎使用的是\"fabpot/goutte\": \"^3.8\", 而不是我的插件目录中的版本。原因可能是我的主题先被加载,然后我的插
当所有其他类都相似且没有错误时,为什么一个phpunit测试在一个类上抛出错误?
我正在研究Liquid Messages 插件。它有一些基本的PHPUnit测试,当我运行PHPUnit时,除了一个测试外,其他测试都通过了。It出错:There was 1 error: 1) GCS_Async_Test::test_class_access Exception: Invalid GC_Sermons_Plugin property: async /long/path/wp-content/plugins/lqd-messages/gc-sermons.php:
仅为特定用户角色执行插件
如何使特定插件仅针对一个特定用户角色(或可能是一组用户角色)处于活动状态?有什么我可以添加到我的functions.php 在子主题中,是否仅为特定用户角色使用特定插件?我尝试了这里的各种答案和文章,但似乎没有什么能提供我所需要的。Update:我尝试了下面的代码(作为测试),如果管理员访问该站点,它将禁用插件,但一旦禁用,它将对所有人保持禁用状态。它需要评估当前用户并根据其角色激活或重新激活。add_filter( \'option_active_plugins\', \'custom_plugin_l
将数据名称编辑器插件转换为古登堡插件
我有一个旧的自定义插件,我已经使用了3年,现在需要更新以实现古腾堡兼容性。旧插件允许您在编辑器中选择文本并按下按钮,然后将文本包装在自定义标记中。示例:Text Name 转换为<a data-name=\"Text Name\">Text Name</a>我一直在跟踪this 尝试转换它的教程。这就是我目前拥有的:( function( wp ) { var MyCustomButton = function( props ) { retu
当使用只接受一个参数的GET_PREVICE_POSTS_LINK()时,为什么要指定多个参数?
我在看一些插件代码,看起来是这样的:get_previous_posts_link(__(\'<span>←</span> Newer\', \'gc-sermons\'), $total_pages当我看到WP function reference for get_previous_post_link 我发现它只定义了一个这样的参数:get_previous_posts_link( string $label = null )通过上述参数传递的第一个参数有意义:
WP_LOADED钩子块脚本查询
我有一个由插件为非管理员用户生成的cutsom Maintenance屏幕。如果相关设置页面上的选项已启用,我需要在其上设置倒计时计时器。我已经正确地实现了设置API,我能够保存和检索选中或未选中的复选框选项值和其他内容。我需要一些帮助来将前端样式排队,我需要将后端设置页面输出的一些数据传递给javascript文件,我希望避免内联脚本。我已经尝试使用普通的wp方式加载脚本wp_enqueue_script, 但这行不通,我不知道为什么?我使用以下代码显示维护页面。是否可能wp_loaded 钩子是否会阻
什么时候/在哪里想要将其他类附加到WordPress插件中的基类?
我目前正在研究两个插件。每个函数都有一个名为plugin_classes 它将其他类附加到基类。这两个插件都有init 和hooks 功能。在第一次通话中$this->plugin_classes() 发生在hooks 函数,而在init 作用在这两种情况下hooks 函数调用init 功能。看来除了使用init 这些类在钩子中的类之后稍微添加(可能)。我有什么遗漏吗?
以编程方式下载插件
我想通过编程从WordPress官方repo下载一个插件,使用链接/id/任何标识符标记。如何做到这一点?