我创建了一个利用API数据创建动态页面的短代码。如果有人更改页面标题,我也希望更改。
现在,我在一个shortcode函数中有了一个动态页面标题,但我还需要在第二个函数中运行该变量。
第一功能代码:
$mainiid = $_GET[\'stattype\'];
$title_new = $_GET[\'titype\'];
$z123 = $title_new;
第二功能代码:
function custom_titles($z123) {
global $wp;
$current_slug = $wp->request;
if ($current_slug == \'demo\') {
return $z123 . \'Foobar\';
print_r($z123);
}
}
add_filter(\'wpseo_title\', \'custom_titles\', 10, 1);
我正在使用Yoast插件,我的动态标题存储在var中
$z123
在第一个函数中。
最合适的回答,由SO网友:cjbj 整理而成
过滤器从定义变量的函数中获取变量。因此,Yoast插件定义了wpseo_title
在其函数的内部进行筛选并传递一个变量。您不能插入自己的变量。
但是,由于您仍然处于相同的页面构建中,因此仍然可以访问$_GET
您自己的过滤器中的变量。因此,诀窍是在第三个函数中从第一个函数中隔离代码段,您也可以从第二个函数中调用该函数段。因此,您不需要传递变量,而是构建它两次,以确保两次都可以使用相同的值。像这样:
function function1() {
// your code ...
$z123 = function3();
// your code ...
}
function function2( $title ) {
// your code ...
$z123 = function3 ();
// your code ...
}
add_filter( \'wpseo_title\', \'function2\', 10, 1 );
function function3() {
$mainiid = $_GET[\'stattype\'];
$title_new = $_GET[\'titype\'];
$z123 = $title_new;
return $z123;
}