Questions tagged «filters»

一种挂钩,它提供一种以编程方式覆盖内容的方式


3
如何删除一个匿名对象的过滤器?
在我的functions.php文件中,我想删除下面的过滤器,但是由于它在一个类中,所以我不确定该如何做。应该是什么remove_filter()样子? add_filter('comments_array',array( &$this, 'FbComments' )); 这里是 88号线。
62 filters  oop 

7
remove_action或remove_filter与外部类?
如果插件将其方法封装在一个类中,然后针对这些方法之一注册了过滤器或操作,那么如果您不再有权访问该类的实例,该如何删除该操作或过滤器呢? 例如,假设您有一个执行此操作的插件: class MyClass { function __construct() { add_action( "plugins_loaded", array( $this, 'my_action' ) ); } function my_action() { // do stuff... } } new MyClass(); 注意到我现在无法访问该实例,如何注销该类?这:remove_action( "plugins_loaded", array( MyClass, 'my_action' ) );似乎不是正确的方法-至少,在我看来,这种方法似乎不起作用。
59 actions  filters 

9
将参数传递给过滤器和动作功能
是一种将我自己的参数传递给add_filteror中的函数的方法add_action。例如看下面的代码: function my_content($content, $my_param) { do something... using $my_param here ... return $content; } add_filter('the_content', 'my_content', 10, 1); 我可以传递自己的参数吗?就像是: add_filter('the_content', 'my_content($my_param)', 10, 1) 要么 add_filter('the_content', 'my_content', 10, 1, $my_param)

3
过滤钩和动作钩之间的区别?
最近,我一直在更深入地研究插件API,我想知道action和filter挂钩之间的真正区别是什么。它们都是接收数据作为参数的事件,它们似乎都可以做相同的事情。 显然,我看到在操作发生时会调用操作,在处理数据时会调用过滤器,但这似乎只是语义上的区别。 除了语义及其用途之外,它们之间还有什么真正的区别?


4
过滤以删除图像尺寸属性?
我正在一个基于流体宽度css模板的网站上工作,该模板将图像的最大宽度设置为包含它们的列的宽度,并且我需要删除WordPress添加到图像的内联宽度和高度尺寸属性。 我正在使用带有此滤镜的精选图片来做: add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10, 3 ); function remove_thumbnail_dimensions( $html, $post_id, $post_image_id ) { $html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html ); return $html; } 我知道可以根据需要将相同的过滤器应用于the_content。但是有更好的方法吗?

10
从the_content删除空的段落?
大家好,我只是想防止在wordpress帖子中创建空段落。尝试手动间隔内容时,这种情况经常发生。 我不知道为什么这没有生效? /*Remove empty paragraph tags from the_content*/ function removeEmptyParagraphs($content) { /*$pattern = "/<p[^>]*><\\/p[^>]*>/"; $content = preg_replace($pattern, '', $content);*/ $content = str_replace("<p></p>","",$content); return $content; } add_filter('the_content', 'removeEmptyParagraphs'); 编辑/更新: 似乎问题是这样的: function qanda($content) { // filters for [q=some question] and [a=some answer] // wraps it inside of <div class="qanda"><div class="question"> </div><div class="answer"> …


2
WordPress挂钩/过滤器在内容之前或标题之后插入
尝试在我的functions.php中的发布内容之前插入内容-我知道如何使用常规的wp挂钩,但是不确定如何插入其他区域。 尝试过此方法,但它会杀死其他任何帖子类型的内容: function property_slideshow( $content ) { if ( is_single() && 'property' == get_post_type() ) { $custom_content = '[portfolio_slideshow]'; $custom_content .= $content; return $custom_content; } } add_filter( 'the_content', 'property_slideshow' ); 我如何将此作为条件?
29 filters  hooks 

1
获取所有已注册动作的列表
我正在尝试调试一个我没有开发的插件,我想列出所有已注册的操作。我已阅读以下SO线程: WordPress:如何获取“ the_content”过滤器的所有注册功能 - 代码日志 但这是特定于一个钩子的,它与过滤器有关,而不是操作。 是否有喜欢$wp_filter或类似的变量?

1
如何在插件JavaScript中添加defer =“ defer”标签?
我无法在插件JavaScript中添加延迟标记。Google开发人员的pagespeed测试建议我在联系表单7 javascripts中添加defer标签。 这就是联系表7在标头中包含javascript的方式。 add_action( 'wp_enqueue_scripts', 'wpcf7_enqueue_scripts' ); function wpcf7_enqueue_scripts() { // jquery.form.js originally bundled with WordPress is out of date and deprecated // so we need to deregister it and re-register the latest one wp_deregister_script( 'jquery-form' ); wp_register_script( 'jquery-form', wpcf7_plugin_url( 'jquery.form.js' ), array( 'jquery' ), '2.52', true ); $in_footer = …


1
apply_filters('the_content',$ content)与do_shortcode($ content)
可以说我有一个主题选项或自定义的postmeta文本区域。现在,我想执行多个短代码,常规文本,图像等。 什么是最佳做法,为什么? 选项1: $content = //my text area data; echo apply_filters('the_content', $content); 选项2: $content = //my text area data; echo do_shortcode($content); 请向我解释哪种方法是最佳做法,为什么。 编辑 让我详细描述该方案。我根据客户的要求开发主题。有时,我需要在帖子/页面/自定义帖子类型上添加帖子元,以便他们可以添加短代码(滑块,联系表格等)或仅添加简单文本。这是一个文本字段。 为了使短代码有效,我使用了选项1。现在,我从某人那里听说这是错误的方法,应该使用do_shortcode。但是他们没有给我解释为什么这是错误的方式。这就是为什么我问。 这整个过程可以在wp的默认文本编辑器中完成。但是我需要为模板的特定用途创建这些选项,这是我的客户想要的。

1
如何为我的插件创建API?
我一直在为WordPress开发插件,我开发的大多数插件使用两到三个类,因此不如Buddypress或WooCommerce大。 我计划开发两个开源插件来交付某种复杂的系统(目前无法共享详细信息,但稍后在开发过程中),其他开发人员可以自定义功能,并且其系统必须与Bud​​dypress和WooCommerce相同。 当我检查这些插件文件并意识到它们已经注册了自己的操作和过滤器时,开发人员可以根据需要进行修改。但是,我的问题是无法完全理解,我该如何编写一个插件,让其他人可以灵活地覆盖功能以及添加自己的功能。 我知道很难给出确切的答案,但是我需要某种入门指南,以便朝正确的方向前进。我需要注册自己的操作和过滤器吗?如果是,怎么办?如果不是的话,我有什么选择? 您的建议将对我有很大帮助。

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.