【发布时间】:2020-01-13 16:36:46
【问题描述】:
我正在尝试从通过 php Everywhere 插件加载的自定义 php 页面更改 Wordpress 页面标题。该页面是通过包含加载的,并且工作正常。它从 API 获取数据并显示结果。不过,从自定义文件中更改标题确实是一个挑战。
据我所知,我必须使用过滤器。我设法通过functions.php或我创建的插件中的过滤器pre_get_document_title用静态文本更改标题。不幸的是,尽管我无法将自定义 php 文件中的标题传递给调用的函数。我正在尝试使用全局变量,但据我所知,在应用过滤器后调用自定义 php 文件中的变量更改,因此该变量为空。我也试图找到一个动作来调用过滤器,例如在页面发送到浏览器之前,但无法从 php 文件中获取值。如何从自定义 php 获取标题到过滤器的回调函数?任何想法或提示都将受到高度赞赏。非常感谢。
插件代码
add_filter( 'pre_get_document_title', 'testfunc' );
function testfunc($title) {
global $globalflightstatustitle;
return $globalflightstatustitle;
}
自定义php文件代码
global $globalflightstatustitle;
$globalflightstatustitle = "hello aaaaaaa";
也试过了
$GLOBALS['globalflightstatustitle'] = "hello aaaaaaa";
插件中的替代方法
add_action( 'template_redirect', 'changetitle' );
function changetitle()
{
add_filter( 'pre_get_document_title', 'testfunc' );
}
【问题讨论】:
标签: php wordpress plugins filter title