您当前的位置:首页 > TAG信息列表 > oop
在插件类中注册和使用返回结果的操作
我有一个插件类,它包含一个函数spektrix\\u list\\u events()class SpektrixPlugin { public function __construct(){ add_action( \'init\', array ( $this, \'init\' )); } public function init() { add_action
如何让插件中的方法在主题中可用?
假设这是在我的插件中:class pluginslug_foo { public function bar() { //stuff } } 我想让方法栏可以在插件之外使用,例如在主题文件中,这样就可以用pluginslug_bar();.我试过:function pluginslug_get_foo() { $foo = new pluginslug_foo(); return $foo;&
在WordPress插件中使用前置控制器,有什么建议吗?
我的想法是在插件中使用前端控制器。有人已经这么做了吗?控制员的职责应为初始化路由器类</提供对对象注册表的访问,该注册表将负责查找和初始化其他类(可能通过工厂)</初始化负责绑定WordPressactions的类我在考虑遵循标准martin fowler example 但如果有人已经尝试过,我可能想向他学习。
我如何解除这个通过$This添加的操作?
这与插件有关Theme My Login, 尽管这个问题可能与任何插件有关。作者说他不再使用支持论坛,所以我来到这里。我正在尝试解开以下操作,在中找到/modules/custom-passwords/custom-passwords.php 在线38.class Theme_My_Login_Custom_Passwords extends Theme_My_Login_Abstract { protected function load() { add_action(
Add_action和WP_Query如何
我是WP新手,PHP新手和OOP新手。1) WP如何工作add_action 是否接收另一个函数作为其参数?我知道这本身是不可能的。我故意破坏了一些代码,发现实际上有一个本机php函数call_user_fun_array, 但他们是如何使自己的函数可以有一个函数作为其参数的呢?2) 我正在做一些插件教程并使用WP\\u Query,我只是将一个参数直接传递给WP\\u Query,好像它是一个方法而不是一个类。I did the following: $loop = new WP_Q
何时使用‘GET_CATEGORY_BY_PATH’和‘GET_TERM_BY’从`GET_QUERY_var(‘CATEGORY_NAME’)`获取类别对象?
我想使用公共查询变量从类别名称中检索类别对象category_name, 通过get_query_var( \'category_name\' ):$cat = get_query_var( \'category_name\' ); 似乎有两种方法:get_category_by_path()get_term_by()使用get_category_by_path()基于WordPress核心代码(wp-includes/canonical.php), 我发现我会这样做:$category = g
使用带有关系‘OR’的TAX_QUERY的查询集是否修改类别对象?
(Update: 请查看下面的编辑。)代码:function itsme_better_editions( $query ) { if ( $query->is_category() && $query->is_main_query() ) { $query->set( \'post_type\', array( \'post\' ) ); $query->set( \'tax_query\',
何时/为什么‘$Query->Get(’TAX_QUERY‘);’返回空?
首先是代码:function itsme_better_editions( $query ) { if ( $query->is_category() && $query->is_main_query() ) { $query->set( \'post_type\', array( \'post\' ) ); // Get current tax query $tax_que
对象内的WP_NAV_MENU--如何处理FLABACK_CB?
我正在尝试创建一个类,它允许我生成导航菜单。以下是我使用的简化版本:class PJ_Menu { function make_menu() { $args = array( \'theme_location\' => \'location\', \'fallback_cb\' => array( $this, \'pj_page_menu\' ), );
此函数wp_get_NAV_MENU_OBJECT是否检查是否存在或支持导航菜单?
function wp_get_nav_menu_object( $menu ) { if ( ! $menu ) return false; $menu_obj = get_term( $menu, \'nav_menu\' ); if ( ! $menu_obj ) $menu_obj = get_term_by( \'slug\', $menu, \'nav_menu\' ); if ( ! $menu_o
存储持久PHP对象的理想位置
我正在编写一些后台批处理的插件,即需要30秒以上时间的操作。我正在使用如下设置的必要作业参数创建对象(这是一个非常简化的示例):class MyPlugin_Create_Terms { public $job_id; public $terms; public $taxonomy; public $created = 0; public function init( $terms, $taxonommy ) {
正在尝试获取php类中的登录用户数据
我正在尝试获取当前登录的用户数据,并在父类中使用它(我在几个函数中需要它)。在下面的示例中,我可以在第一个函数中获得userID,但在下一个函数中它不会给出任何输出。这是我的第一个wordpress插件,也是我第一次使用OOP,谁能帮我解决这个问题呢。<?php class WP_PM{ public $currentId; public function __construct(){ $this
单一责任制原则与WP分类
我仍在通过OOP和坚实的原则工作。我很难四处走动new SomeClass(); 调用,或将其添加到动作挂钩(add_action( \'init\', array( \'SomeClass\', \'get_instance\' ) ). 举个例子:我有一个posts控制器,用来处理与posts有关的任何事情:创建、删除、通过ajax修改其状态等等。我认为SRP会为post创建/修改、ajax请求等调用不同的类。除了new/add\\u操作之外,还有更好的方法来实例化这些类吗?我觉得将会有过多的类和类实
WP_UPDATE_POST:无限循环,即使使用REMOVE_ACTION解决方案,OOP
我有一个非常复杂的PHP类,负责创建和打印meta\\u框,生成和保存meta字段。。。每个meta\\u框(类的对象)都有自己的保存函数,用于更新post的元数据(字段是另一个类的实例)及其post_excerpt 和post_content. 是的,这可能有点复杂,但由于我只是从OOP开始,到目前为止我对它很满意。TL;DR, THE PROBLEM: 具有wp_update_post() 已调用save_post 胡克,我得到一个无限循环。该问题记录在WP codex中,也在WPSE中提及:How
为什么使用对象挂接的函数一直在执行?
我尝试在插件中使用类和对象。我用shortcode 但它执行该功能时没有将短代码粘贴到任何页面/帖子。class example{ function ex_funct(){ ?> <h3>Hello</h3> <?php } } $obj = new example(); add_shortcode(\'examp_code\',$obj->ex
如何删除将Jetpack相关内容添加到DOM的过滤器
我试图删除JetPack的相关帖子模块中的过滤器,该过滤器将元素添加到DOM中,该DOM由模块的JavaScript用相关帖子填充。一旦我删除了它,我就可以实现我的实际目标,即除了插件提供的选项之外,还可以将它添加到其他地方。我试图删除的内容筛选器如下所示: public function filter_add_target_to_dom( $content ) { if ( !$this->_found_shortcode ) { $content .=
用另一个数组中的值填充数组
我已检索到WP\\u Post对象,并将其存储在变量中。Array ( [0] => WP_Post Object ( [ID] => 45 [post_author] => 1 [post_date] => 2014-03-10 14:22:01 [post_date_gmt] => 2014-03-10 14:22:01
WordPress插件开发OOP风格
我正在构建我的第一个基于oop的插件。这个主要问题是它没有显示设置字段(字体错误输入)。到目前为止,我的方法。。$plugin_settings = new WordPress_Plugin_Template_Settings( __FILE__ ); 课程是class WordPress_Plugin_Template_Settings { private $dir; private $file; private $assets_dir;
要做的对象数组_action,回调是否获得单一对象?
所以我今天在一个动作中传递了一组对象,没有什么大不了的,一切都很顺利。直到我迭代回调的一个参数并开始出错。唯一的区别是将数组传递给do_action 调用中只有一个对象。对此感到困惑的是,除非数组的计数超过1,否则我根本没有调用该操作(该操作正在缓存供参考的内容)。在查看函数定义时,我在wp includes/plugin的第411行找到了这一点。phpif ( is_array($arg) && 1 == count($arg) && isset($arg[0]) &am
类中的条件标记
我现在在一个类中组合了几个函数。这样做的原因是所有这些函数都朝着一个目标前进,而在这些函数之间使用全局变量更合适。该类由三个主要部分组成,第一部分添加我的元框,第二部分添加创建边栏的选项页面,第三部分实际注册边栏。我现在的问题是,第一节和第二节只需要在管理端运行。我知道如何在正常功能上实现这一点。我的问题是如何在课堂上做到这一点。我知道您可以将整个类包装在is_admin() 标记,但这在这里不起作用,因为我的边栏不会显示在前端。我如何才能在is_admin() 标签这是我的课class PieterGo