您当前的位置:首页 > TAG信息列表 > oop
覆盖WC_ShortCodes类中的静态方法(ShortCode)
我正在尝试覆盖product_categories 来自WooCommerce的短代码,以便我可以向包装器添加其他类[product_categories number=\"0\" parent=\"0\" class=\"container\"] 所以我看了一下WooCommerce code, 并创建了一个扩展WC_Shortcodes 我只是复制了静态方法product_categories /** * Updated product categories shortcod
集成测试测试脚本入队/注册失败
这个问题与此相关SO post我正在测试一个插件public function enqueue_scripts() { $main_style = \'public/scripts/application.js\'; wp_register_script( \'plugin-scripts\', plugin_dir_url( __DIR__ ) . $main_script, array() ); wp_enqueue_script(
使用面向对象的数据库交互
我正在开发wordpress插件,将数据存储在数据库中。我试图根据最佳实践的样板文件为我的插件启动OOP方式:https://github.com/DevinVinson/WordPress-Plugin-Boilerplate/tree/master/plugin-name我不明白的是,如何在插件安装事件中一次性调用creating tables方法,并确保所有交互的安全。另外,我想通过cron安排一些加载任务。我发现有两种方法可以实现第一个目标:使所有方法都是公共静态的,这样db loader类就成了
WordPress中的静态方法与动态方法
这个问题是关于在类中使用动态方法而不是静态方法的著名辩论。根据我的研究,公认的想法是尽可能限制静态方法的使用。现在,就WordPress而言,我有一个注册短代码的类。该短代码内置了一些逻辑,并且依赖于从正在使用它的页面中获取一些元值。现在,我最近发现侧栏中还有一个小部件,它需要根据短代码中使用的相同逻辑使用相同的元值。例如:在shortcode类中,我有一个方法可以获取所有的元值,并将它们存储在一个具有固定索引名称的数组中,我需要该值对应该名称。因此,获取后的数组类似于:$locations = arra
如何正确设置激活挂钩
我正在尝试为我的插件注册一个激活挂钩。插件使用类,实际的激活方法保存在单独的管理类中。阅读文档register_activation_hook() 它似乎是第一个参数$file 应始终是主插件文件的文件:wp-content/plugins目录中主插件文件的路径。完整路径将起作用。这两个类被保存在不同的文件中,看起来像这样。这是主插件文件:<?php /* my-plugin.php */ include_once(plugin_dir_path(__FILE__) .
OOP development and hooks
我目前正在为Wordpress编写我的第一个OOP插件。为了帮助我找到一点结构,a boiler plate 这为我奠定了基础。在里面Main.php 有一种方法可以为管理员加载JS和CSS资产:/** * Register all of the hooks related to the admin area functionality * of the plugin. * * @since 0.1.0 * @access private
扩展WooCommerce小部件类-WC_Widget_Product_Categories
我正在尝试扩展woocommerce类,该类用于在我自己的插件中创建产品类别小部件,该插件为woo commerce产品添加了一个称为“部门”的新分类法。当我扩展WP\\u小部件时,一切正常,我看到一个新的小部件,可以添加到外观->小部件中。然而,当我试图扩展WC\\u Widget或WC\\u Widget\\u Product\\u类别时,我根本看不到新的Widget,即使我没有收到任何php错误。以下是我所拥有的不起作用的东西://get the base classes if(!cl
如何在具有命名空间的类中运行查询?
我试图在类中运行查询这就是结构 namespace NCK{ class Runquery{ public function execute(){ $query= new WP_Query(array(..............)); return $query; }}} 但是当我使用$getvalue = new NCK\\Runquery(); var_dump($getv
对具有构造的类使用添加操作
我有我的答案,但似乎有很多人投了赞成票https://wordpress.stackexchange.com/a/48094/145078但我不知道为什么它对我不起作用。。作为回答 class MyClass { function __construct() { add_action( \'init\',array( $this, \'getStuffDone\' ) ); } func
通过扩展类并替换它来删除操作
我试图重写一个方法(my_packages) 从WP Job Manager Paid Listings 通过在自定义插件中扩展其类来实现插件下面是如何设置源代码(无相关代码删除)的。。。class WC_Paid_Listings_Orders { private static $instance; public static function get_instance() { return null === self::$ins
在类定义/氧气问题之前检查CLASS_EXISTS
当前,当我为WordPress创建一个类时,我用if ( ! class_exist( \'class_i_want_create\' ) ) : .... class_definition .... endif; 但现在我想用Doxygen创建一个文档。但当Doxygen被class_exist.所以,当我不在它周围class_exist?或者有人知道我如何配置Doxygen来查看这个类,即使它被class_exist?
在对象内添加挂接‘vc_Beresing_init’
我正在开发我的第一个基于面向对象编程(MVC)的插件。一切都很完美,将前端/后端样式、管理菜单页面、短代码创建等排入队列。。。我使用init 钩我从控制器实例化这个类Custom_VC_Elements (构造函数处于活动状态)。class Custom_VC_Elements { public function __construct() { // Armon Product link shortcode add_shortcode( \'armon_p
类内的PHP调用函数
我正在编写自己的php类,该类中有多个函数。类似这样:class JSON_API_Hello_Controller { public function test_cat(){ global $json_api; $posts = $json_api->introspector->get_posts(array( \'cat\' => 3)); return $this->p
仅启动类的最新版本
我们有一个类,它是我们开发的几个插件所共有的。随着时间的推移,我们改进了类并添加了新函数,因此我们有了类变量,即类版本。由于多个插件具有不同版本的此类,因此一个插件可能会启动该类的旧版本,因为它是首先加载的,而另一个可能需要新版本的插件不会启动它,因为它已经定义好了。管理这种情况的最佳方法是什么,以便只声明类的最新版本&;发起谢谢Bob
从模板调用自定义插件类方法
是否可以从类加载的模板文件中调用该类的实例方法?如果我试图调用$this 从模板中,我得到Fatal error: Using $this when not in object context 静态调用一切都会破坏类的用途。换句话说,是否可以让下面的模板文件在WP_Widget 子类与我调用的方式相同the_title()?CustomPluginTemplate。php<?php get_header(); ?> <main id="main" class=
带类的父主题中REMOVE_FILTER的语法
我正在尝试删除register\\u url挂钩上添加的父主题的过滤器,它似乎有一个我无法理解的类命名法。通常,此挂钩的过滤器很容易添加,如下所示: add_filter( \'register_url\', \'custom_register_url\' ); function custom_register_url( $register_url ) { $register_url = \"YOUR_PAGE_URL\";
插件中的WordPress AJAX回调函数
使用PluginBoilerplate 编写插件。我需要打个ajax电话。我添加到mainplugin.php 类来注册脚本和处理ajax调用。if ( ! class_exists( \'PoorMansNameSpaceAJAX\' ) ) { class PoorMansNameSpaceAJAX{ public static $instance = null; public $nonce = \'\'; public $name =
定制器-前缀类扩展
对于通过扩展“WP\\u Customize\\u Control”类来创建自定义控件的漂亮工作代码(paulund),我有一个基本问题。我对PHP、编程,尤其是OOP都是新手。所以我特别想知道,第一个“条件”是什么,而其余的条件对我来说似乎是可以理解的。我在以下方面存在理解问题: if ( ! class_exists( \'WP_Customize_Control\' ) ) return NULL; 阅读“class\\u exists”的php手册,我在一个德国博客
在AJAX回调函数中看不到类属性?
我有一个类,其中包含ajax回调,以及__construct() 那个级别的。在实例化时,我还将属性传递给类。看起来有点像这样<?php class My_Class{ private $passed_string; public function __construct( $passed_string ) { $this->$passed_string = $passed_string; &
无法从wpordrpess中的AJAX调用访问类属性
我在从wp\\u ajax\\u函数内部调用类方法时遇到问题。我的代码如下所示: class Cart { public $cart_content; public $cart_id; public $db; public function __construct() { $this->db = $GLOBALS[\'wpdb\']; ad