【问题标题】:Wordpress custom title from custom php file来自自定义 php 文件的 Wordpress 自定义标题
【发布时间】: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


    【解决方案1】:

    回答我自己的问题,以防其他人面临同样的问题。我的解决方案是将 API 请求移至插件,该插件在自定义 php 代码之前调用。标题和元数据在 testfunc 中更改,API 结果存储在稍后在自定义页面中访问的公共变量中。案件已解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-07
      • 1970-01-01
      • 2017-08-16
      • 2021-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多