Wordpress取代元描述

时间:2015-05-28 16:21:33

标签: php wordpress meta-tags

我需要使用自定义元描述替换header.php中wp_head()函数生成的现有<meta name="description"...>。页面中的信息不是常规的wordpress帖子,取自外部数据库。 我能够添加我的自定义元,但旧的也是

function add_meta_tags() 
{
    global $data;
    if(!is_null($data['metas']['page_meta_description']) )
    {
        echo '<meta name="description" content="'.$data['metas']['page_meta_description'].'">';
    }
}
add_action('wp_head', 'add_meta_tags');

有没有办法:   - 删除带有操作或过滤器的默认元描述    function.php?要么,   - 在呈现之前以某种方式替换元描述的值?

3 个答案:

答案 0 :(得分:3)

描述元标记通常由模板标题(header.php)或通过将描述添加到网站的插件(例如SEO标题标记)来处理。由于您获得了重复的描述,因此应检查输出描述标记的插件。

对于其他烦人的元标记和标题中的其他内容,您可以使用模板的functions.php文件中的remove_action()函数来执行此操作,并可以在此处查看文档:{​​{3}} < / p>

我为我运行的WP站点执行类似的操作,并且需要删除进入头部的每个元标记,这里是我在functions.php文件底部的代码:

// Remove Meta Tags that are Unneeded
remove_action('wp_head','feed_links_extra', 3);
remove_action('wp_head','rsd_link');
remove_action('wp_head','feed_links', 2);
remove_action('wp_head','wlwmanifest_link');
remove_action('wp_head','index_rel_link');
remove_action('wp_head','parent_post_rel_link', 10, 0);
remove_action('wp_head','start_post_rel_link', 10, 0);
remove_action('wp_head','adjacent_posts_rel_link', 10, 0);
remove_action('wp_head','noindex');
remove_action('wp_head','wp_generator');
remove_action('wp_head','rel_canonical');
remove_action('wp_head', 'wp_shortlink_wp_head');

显然,只使用你需要的!我无法找到元标记的所有函数列表,因此我想要包含我使用过的所有函数。

答案 1 :(得分:1)

安装Yoast插件,您可以通过手动将其添加到搜索引擎结果页面上来生成元标记。

答案 2 :(得分:0)

    function remove_meta_descriptions($html) {
    $pattern = '/<meta name(.*)=(.*)"description"(.*)>/i';
    $html = preg_replace($pattern, '', $html);
    return $html;
}
function clean_meta_descriptions($html) {
    ob_start('remove_meta_descriptions');
}
add_action('get_header', 'clean_meta_descriptions', 100);
add_action('wp_footer', function(){ ob_end_flush(); }, 100);