我正在使用一组查询变量和重写规则来加载新页面。我对页面的最后一次调用如下所示:
add_filter( \'template_include\', \'se343855_template_include\', 50 );
function se343855_template_include( $template )
{
$sign1 = get_query_var(\'sign1\', false);
$sign2 = get_query_var(\'sign2\', false);
if ( $sign1 !== false || $sign2 !== false ) {
// if this code is located in plugin file
$template = plugin_dir_path(__FILE__) . \'/pages/form.php\';
}
return $template;
}
这是可行的,也是形式。php页面与此类似:
<?php include_once(dirname( __FILE__ ).\'/../shortcodes/functions.php\'); ?>
<?php get_header(); ?>
<div id="primary" class="content-area grid-parent mobile-grid-100 grid-75 tablet-grid-75">
<main id="main" class="site-main">
<div>Page</div>
</main>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
我需要设置页面标题(即标题与标题之间的内容)以及表单中的一些元标记(描述、作者等)。php页面。
我已经看到了一些更改标题的方法,即通过过滤“pre\\u get\\u document\\u title”,但我不希望每个页面上的标题都更改。我还没有找到任何一致的方法来更新/添加元标记。
非常感谢您的帮助!
最合适的回答,由SO网友:nmr 整理而成
使贴在wp_head
将显示元标记的操作hoook函数。在该功能中,您可以:
add_action( \'wp_head\', \'se344297_description_metatag_display\', 0 );
function se344297_description_metatag_display()
{
$site_descr = apply_filters( \'description_tag_filter\', \'Sample description text.\' );
if ( !empty($site_descr) )
echo \'<meta name="description" content="\' . esc_attr($site_descr) . \'">\';
}
add_filter( \'description_tag_filter\', \'se344297_custom_description_metatag\' );
function se344297_custom_description_metatag( $descr )
{
// use conditional tags or check query var
// here to override meta tag
//
$sign1 = get_query_var(\'sign1\', false);
if ( $sign1 == \'AAA\' ) {
$descr = \'AAA description text\';
}
else if ( $sign1 == \'BBB\' ) {
$descr = \'Description in case of BBB\';
}
return $descr;
}