我正在谷歌上四处寻找如何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 更改了代码以反映实际发现和测试的类实例。