Questions tagged «plugin-development»

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

2
是否有插件生命周期文档?
是否有一些文档可以解释插件的生命周期? 我正在启动一个具有OOP风格的新插件,但我发现我的主类实例化了很多(这要归功于Xdebug和Netbeans)。 我不知道为什么,这让我很烦,因为我要实例化一个Dropbox-API对象,而且我真的不认为WordPress可以这么多地实例化我的主类。 我在Codex和Google上都没有发现任何与插件生命周期相关的信息。

2
如何检查插件前缀的唯一性?
为了避免与其他插件发生冲突,应为所有全局函数,操作和插件添加唯一的前缀,例如: function xyz_function_name() { ... } 问题是,我该如何验证它xyz确实是唯一的?例如,Yoast SEO的使用wpseo_,我可以想象其他SEO插件也可以轻松使用。搜索可用的WordPress插件以查找潜在冲突的最佳方法是什么?还是在那里?

1
将自动关闭的简码按钮添加到WP 4.6中的TinyMCE
我熟悉创建自动关闭的短代码,例如: // shortcode function wpse_shortcode_example( $wpse_atts ) { // Attributes $wpse_atts = shortcode_atts( array( 'foo' => 'bar', 'width' => '100%', 'height' => 'auto', ), $wpse_atts, 'wpse' ); // Return return '<embed src="' . $wpse_atts['src'] . '" width="' . $wpse_atts['width'] . '" height="' . $wpse_atts['height'] . '"; } add_shortcode( 'wpse', 'wpse_shortcode_example' …

2
我应该在插件中使用spl_autoload_register()吗?
当我在插件中使用spl_autoload_register时,我得到: Fatal error: Uncaught exception 'LogicException' with message 'Class wp_atom_server could not be loaded' wp-includes\pluggable-deprecated.php on line 182 我做了一些阅读,发现了各种修复方法。 有人说不要在WordPress中使用spl_autoload_register。 准确吗? 我确定我可以找到该错误的“修复程序”,但是我不确定我想在每个WP版本中都这样做。 如果不使用自动加载功能,应该如何加载我的课程?这是现在打破的东西: spl_autoload_extensions(".php"); spl_autoload_register(); use MyPluginClasses\Student as MS; $student = new MS\Student(); echo $student->sayHello(); 在学生中: <?PHP namespace MyPluginClasses\Student { class Student{ public function __Construct(){ echo "Hello Johnny"; } public …

2
如何改善此管理员查询代码段,以避免在非元搜索中生成重复的结果?
我一直在玩一些代码片段,这些片段将元数据添加到管理员搜索中。 我找到的最好的片段是斯特凡诺(Stefano)关于这个问题的。 但是,当搜索非元术语时,它似乎有1个烦人的错误。 这是我本地开发安装的一些内容。我已经在屏幕上打印了两个MySQL查询。 我正在测试的单个CPT帖子的视图 这是按预期工作的代码,允许我从管理员搜索元数据 不幸的是,该代码在非元匹配中创建了重复项,在本例中为帖子标题 显示骗子的职位状态,职位类型和职位祖先的抓取 !显示骗子的职位状态,职位类型和职位祖先的抓取 这是我正在运行的代码,与Stefano的代码基本相同,但是我尝试使查询正常工作。 /* * Search custom fields from admin keyword searches */ function rel_search_join( $join ) { global $pagenow, $wpdb; if ( is_admin() && $pagenow == 'edit.php' && $_GET['post_type'] == 'listings' && $_GET['s'] != '') { $join .= 'LEFT JOIN ' . …

8
如何找到插件的子弹?
我想知道如何找到插件的slug(slug = WordPress用于进行插件更新并确定当前处于活动状态的插件的内部名称)?它通常是插件的文件夹名,但是如果插件没有文件夹,则是其文件名(如hello.php)。还有其他例外吗? 小写和大写字符重要吗? 插件可以具有不同于其文件夹名称的子插件吗?如果有一个名为hello.php和另一个/hello.php/hello.php的插件怎么办?

2
自定义帖子类型插件:我在哪里放置模板?
我正在编写一个自定义帖子类型插件。我要通过短代码将其部分输出到模板。但是其他部分需要自定义帖子模板,并且我了解了如何将模板层次结构用于CPT。但是自定义模板是主题,而且我认为插件应该是自包含的,至少从一开始就是如此。 那么,这里的最佳实践是什么?我们如何在CPT插件中包含模板文件?您能指出我如何做到的特别好的例子吗? 谢谢你的帮助。

2
动态添加窗口小部件表单字段
我正在尝试将表单字段动态添加到WordPress小部件。因此,如果用户想为事件添加另一个日期,则可以单击按钮以获取更多字段。 问题是:如何将新创建的输入字段保存到我的数据库中? 我需要编写自定义更新功能吗?有小费吗? 这是小部件的外观: 这是我的小部件的php代码(到目前为止): class Spillelister extends WP_Widget { public function Spillelister() { $widget_options = array ( 'classname' => 'spillelister-widget', 'description' => 'Widget for å illustrere spillelister.'); parent::WP_Widget('spillelister_widget', 'Spilleplan', $widget_options); } // The actual widget user interface public function widget($args, $instance) { extract( $args, EXTR_SKIP); $title = ( $instance['title'] …


1
插件API,可轻松生成管理列表表,处理和导出MySQL表?
我知道这WP_List_Table门课(就目前的情况而言,这很有帮助)。 但是,我正在寻找更强大的功能-某种形式的API,通过该API,您可以简单地“注册” MySQL表,传递field_name => label翻译以及所有困难的移植(菜单链接,表生成,分页,列排序),并且可能数据导出(CSV等)已自动完成! 我知道这是一个非常具体的请求,但我认为这值得提出。如果任何人任何事都知道远程类似的,请说出来!哎呀,如果目前没有东西,如果引起人们的兴趣,我可能自己动手建...

2
带插件和样式表的开发箱上的符号链接
我将Mac OS X 10.6与Xampp结合使用。 http://wp3.1/ 是我安装WordPress的网址。 物理路径是 /Users/myUserName/Sites/wp3.1/ 我不会以“自然”方式安装插件或主题。我已经在中创建了一个名为“ git”的目录/Users/myUserName/git/。这是我所有git存储库所在的位置。当我想安装插件时,只需在中创建一个符号链接/Users/myUserName/Sites/wp3.1/wp-content/plugins/。这对于简单的插件非常有用,但是如果插件入队的是样式表或脚本,则URL显示为: http://wp3.1/wp-content/plugins/Users/myUserName/git/options-framework-plugin/css/colorpicker.css?ver=3.1.1 我该如何解决?



3
如何更改自定义帖子类型的作者?
我做了一个自定义帖子类型,需要能够创建帖子并将其分配给作者。使用帖子很容易做到这一点,因为您可以转到批量编辑屏幕并立即更改作者。但是,当我尝试使用自定义帖子类型执行此操作时,作者框不存在。如何添加功能以更改自定义帖子类型的作者? 编辑:我找到了解决方案,请参见下面的答案。

4
如何在没有P标签包装的情况下回显the_excerpt?
在下面的代码片段中,我试图使the_excerpt被写出而没有标签。但是,源格式显示the_excerpt始终包装在P标签中。如何删除没有标签的摘录? foreach($myrecentposts as $idxrecent=>$post) { ?> <li class="page_item"> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> <?php echo strip_tags(substr( the_excerpt(), 0, 75 ))."..." ?> </li><?php } echo "</ul> </div>";}

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.