我使用的是shortcode,我想通过使用自定义表从数据库中设置值来更改标题。我已尝试使用\\u标题过滤器,如下所示
add_filter(\'the_title\',\'set_page_title\', 10, 2);
function set_page_title($title, $id){
if(in_the_loop()) {
return \'sdfdsfdsf\';
}
return $title;
}
但我的问题是,我只想在一个特定的页面上更改它,而不是在所有页面上。
这是我的shortcode回调函数
function bmg_company_detail_shortcode($args, $content) {
global $wpdb;
$table_name = $wpdb->prefix . \'bmg_company\';
$company_id = $_GET[\'id\'];
$output = \'\';
$result = $wpdb->get_results($wpdb->prepare("SELECT id,maincategoryid,name,website,yearfounded,supportpageurl,contactpage,country,about, isactive,contact_name,contact_email,contact_phone,support_phone,open_times,support_email, username, password from $table_name where id=%s", $company_id));
if($result) {
foreach($result as $row) {
set_page_title(\'\',$row->name);
$output = \'
<h3 class="bmg-company-title">\'. $row->name .\'</h3>
\';
}
}
return $output;
}
我想将参数发送到函数set\\u page\\u title,但这不起作用。我希望这只发生在名为“公司”的页面上。