我正在谷歌上四处寻找如何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 );
位于。。。但最终被破坏了。
最合适的回答,由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 更改了代码以反映实际发现和测试的类实例。