我正在尝试使用一个自定义插件拆分测试两个版本的帖子标题。到目前为止,我还没有找到合适的过滤器或操作来在页面输出之前在元标记级别修改标题。
我发现的是过滤标题,但它看起来只在帖子内容中过滤,而不是文档头。
http://codex.wordpress.org/Plugin_API/Filter_Reference/the_title
这是要使用的正确过滤器吗?我只需修改我的主题模板即可完成所选操作?我可以在不修改主题的情况下从插件中严格执行此操作吗?
我要做的是检查是否设置了GET变量,例如?title_ver=1
如果设置了,那么为备选标题获取适当的post meta值。
非工作代码
function custom_modify_title( $title, $id = null ) {
return \'CUSTOM \'.$title;
}
add_filter( \'wp_title\', \'custom_modify_title\', 10, 2 );
add_filter( \'the_title\', \'custom_modify_title\', 10, 2 );
最合适的回答,由SO网友:Leo Caseiro 整理而成
过滤器wp\\u title在调用时仅更改函数wp\\u title()。
所以,如果在标题使用wp\\u title之前,您必须仔细检查主题的源代码。
无论如何,您可以在函数上设置过滤器。php。用于标识param GET的函数应该如下所示:
function maybe_change_wp_title_ver( $title, $sep ) {
if ( isset( $_GET[\'title_ver\'] ) && 1 === $_GET[\'title_ver\'] ) {
$title = \'My New Title\';
}
return $title;
}
add_filter( \'wp_title\', \'maybe_change_wp_title_ver\', 99, 2 ); //99 is set as priority (read comments)