筛选您的标准添加操作优先级

时间:2017-09-28 作者:iMarkDesigns

我正在谷歌上四处寻找如何add_action 并更改Yoast Canonical的优先级,

发件人:20

add_action( \'wpseo_head\', array( $this, \'canonical\' ), 20 );

收件人:55

add_action( \'wpseo_head\', array( $this, \'canonical\' ), 55 );

这会影响前端头部标记部分的位置。是否有方法操纵此函数以将其挂接到functions.php 文件

注意:我试图将其复制并粘贴到我的函数中,但钩子没有到达操作。

Updated Response Fig. 1

global $wpseo;
$wpseo = new WPSEO_Frontend();

remove_action( \'wpseo_head\', array( $wpseo, \'canonical\' ), 20 );
add_action( \'wpseo_head\', array( $wpseo, \'canonical\' ), 55 );
我试着用这个,因为我可以看到WPSEO_Frontend 是声明的类,其中add_action( \'wpseo_head\', array( $wpseo, \'canonical\' ), 20 ); 位于。。。但最终被破坏了。

1 个回复
最合适的回答,由SO网友:majick 整理而成

您需要在Yoast插件中查找所指的全局类$this, 以便您可以在类上下文之外访问它。例如,如果是,$wpseo, 在您的功能中。php您可以执行以下操作:

$wpseo = WPSEO_Frontend::get_instance();
remove_action( \'wpseo_head\', array( $wpseo, \'canonical\' ), 20 );
add_action( \'wpseo_head\', array( $wpseo, \'canonical\' ), 55 );
要查找要使用的类名,请查找包含add_action 具有$this 然后获取该类的实例,如$wpseo = WPSEO_Frontend::get_instance();

UPDATE 更改了代码以反映实际发现和测试的类实例。

结束