您当前的位置:首页 > TAG信息列表 > oop
我如何扩展我正在编写的一个插件和我正在使用类编写的另一个插件?
我有一套插件可以做不同的事情。我想用一个类编写一个插件,我可以在每个自定义插件中扩展该类,以实现一个共同的目标。在我的“socket”插件中,我有如下内容class socketPlugin { function __construct($extendedClass){ global $wpdb; $tablename = $wpdb->prefix.\"tableName\"; $classCount = $wpdb
获取几个选定分类的对象
我有一些自定义分类法,我想在foreach循环中用作对象。我知道这些函数可以返回所有分类法的对象:global $wp_taxonomies; 或post taxonomies对象:$taxonomy_objects = get_object_taxonomies( \'post\', \'objects\' ); 但是如果我只想在对象中包括一些分类法,比如video, audio, tv 和radio (所有分类名称),我该怎么办?
如何使用类将一个插件组织成多个文件?
我正在从头开始编写我的第一个简单插件,因此我正在寻找一些关于在插件中构建类的建议。我将一些基本函数封装在主插件文件中的一个类中,但我想如果在一个文件中包含许多函数,它会变得非常笨拙。到目前为止,我的插件目录的结构如下所示:inc -果心php -插件设置。phpcss -风格csslang插件文件。php我一直在努力解决的一件事是使用类将插件构造成多个文件。主插件文件的代码为:<?php /** * Plugin Name: Plugin name *
A question about add_action()
我一直在关注这个(http://codex.wordpress.org/Plugin_API ) 图坦卡蒙抄本。创建类并在add\\u操作中调用的部分。未将参数传递给emailer::send ? 为什么?函数定义中需要它。
抽象类中的插件激活挂钩
我想为我开发的每个WordPress插件创建一个通用的抽象类。作为类初始化过程的一部分,我想启动激活挂钩,它调用一个抽象方法,该方法将由子类定义。例如:abstract class AbstractPlugin extends WP_Plugin { public function init() { register_activation_hook( __FILE__, array( $this, \'on_activation\' ) );
OOP and WordPress shortcode
我试图通过这种方式添加一个短代码class MyPlugin { function __construct() { $this->make_shortcode(); } function ShowMsg($cls, $lst4) { $data = shortcode_atts(array(\'phn\' => \'\', \'msg\' => \'\'), $atts);
在面向对象的开发插件中创建菜单页面
我第一次尝试按照OOP的方式为Wordpress构建插件。尝试使用创建子菜单页时遇到一些问题add_users_page() 作用以下是我的代码的简单版本:class MyPlugin { public function __construct() { add_action(\'admin_menu\', array($this, \'create_menu\')); } public static func
不同对象类型的相同分类
从WP 2.3开始,我们可以做到:register_taxonomy(\'custom_taxonomy\', array(\'user\', \'post\', \'link\', \'comment\')); 这些是属于不同表的不同对象类型,因此可以具有相同的主键ID。现在,如果我们看看用于获取或检查术语的函数,它们都缺少object\\u type参数。is_object_in_term( $object_id, $taxonomy, $terms = null ); wp_get
How to get media objects
我正忙于循环以返回对象中medialibrary中的所有媒体。我想出了如何获取图像(使用wp_get_attachment_image(\'$mediaID\') 其中$mediaID是图像的id)但我想循环所有媒体,而不仅仅是图像,是否有一个功能可以用于视频和音频,也可以从媒体库中获得。我试过了get_attached_media 但这只有在媒体实际连接并且我想循环所有媒体的情况下才有效。有没有办法做到这一点并将其作为对象?提前谢谢。P、 S。我使用的代码是: <?php
OOP-从插件添加新对象并调用另一个文件中的静态方法
我试图从插件主文件创建一个对象,首先需要在子目录中创建一个类文件,然后创建一个新的->对象,然后从所需的类文件中调用一个方法。然而,当我激活插件时,register\\u activation\\u hook()会抛出一个错误。我做错了什么?这不是我正在使用的实际代码,而是过于简单化了。../plugins/my-plugin/my-plugin.php require_once( \'classes/test.php\' ); $test = new test(); reg
具有多个类实例的WP_AJAX处理程序
八个月前,我问了几乎相同的问题there. 但到目前为止,这个问题仍然没有得到解决。但我还有一个想法,为什么它会失败。在此期间,我的代码得到了改进。我有多个具有相同结构的类:<?php class McCustomPost { ... } $wpMcCustomPost = new McCustomPost(); ?> ... <?php class McAdmin { ... } $wpMcAdmin = new McAdmin(
在header.php中调用全局$wpdb的对象方法
我正在以面向对象的方式开发Wordpress插件,我想使用全局$wpdb变量从Wordpress数据库读取数据。全局$wpdb变量是从一个特定的类方法中调用的。该类在插件编辑器中定义,但对象本身在标头中实例化。我的主题的php文件。此方法成功地回显了我硬编码的HTML,但不会回显它们之间本应从$wpdb读取的数据。提前感谢您的帮助!编辑:以下是代码:Class Custom_Header { public function print_header() {
如何设置分类对象描述?
我注意到在处理Post类型对象时(使用get_post_type_object();) 和分类对象(使用get_taxonomy();) 有一个叫做“描述”的属性。如何为分类法对象设置此描述属性?我在中看不到它的选项register_taxonomy();, 但我确实在register_post_type();.
`global$post`何时何地设置并可用?
通常当人们想到global $post 对象它假定在您输入时实际已设置The Loop. 我开始考虑我能多早打电话global $post 看起来像:之前wp_head() 在most中header.php 文件之前template_redirect 行动之后plugins_loaded所以我的问题是,我最早能接触到什么global $post?
如何命名命名空间类的文件?
WP Core Handbook > PHP Coding Standards > Naming Conventions 建议使用类命名文件:类文件名应基于class- 例如,将类名中的前缀和下划线替换为连字符WP_Error 成为:class-wp-error.php 虽然从本节的措辞来看,它主要用于核心用途,但总体编码风格通常适用于(而且在我看来应该适用)第三方WP代码。然而,由于core不支持名称空间(PHP 5.2,ugh),这并不能解释这种情况。从开发人员方便的角度来看,
如何将筛选器仅添加到类实例?
我有一个自定义类,用于扩展它,例如class A { public function show_things() { print_r( apply_filter( \'yet_another_filter\', array( \'coffee\', \'tea\' ) ) ); } } class B extends A { public function __construct() {
获取插件文件中的用户角色
我有一个插件,其中需要使用get\\u editable\\u roles()函数,但我一直收到一个致命错误,说该函数不存在。在我的主插件文件中,我有以下代码:function prefix_run_plugin() { $plugin = new Plugin_Class(\"1.0\"); $plugin->run(); register_activation_hook( __FILE__, array($plugin, \'initialize\
严格标准:边栏生成器中的非静态方法
我用过this sidebar generator 在我的主题函数中。php和这个插件工作得很好!没有错误。但当我打开define(\'WP_DEBUG\', true) 我犯了一些错误。我知道我必须在实时站点上将wp\\u debug设置为false。但是,我想让我的主题不要有错误、警告、通知。我认为一些php专家看到了这个错误,他可以解决它。Error Codes Are Below Strict Standards: call_user_func_array() expects paramet
扩展WP_WIDGET_TEXT类
我正在尝试更改默认WordPress文本小部件的输出。由于这个小部件是用OOP编写的,我希望它可以简单地扩展类并覆盖一个方法,但事实证明并不是那么容易。困难的是,我不想创建一个新的小部件,它本质上只是一个具有新名称的文本小部件的副本–我真的想更改当前文本小部件的输出。我为此编写了一个小插件,包含两个文件:主插件文件和实际类。在主插件文件中,我只需执行以下操作:add_action(\'widgets_init\', \'include_my_class\'); function include_m
在正文ID中使用$POST->POST_NAME导致错误:尝试获取非对象的属性
在我的debug.log:PHP Notice: Trying to get property of non-object in /my-wesbite/wp-content/themes/express/header.php on line 36 这是第36行header.php 在我的主题中:<body id=\"page-<?php echo $post->post_name;?>\" <?php body_class(); ?> data-site-