一个解决方案来设置元标签与我的页面生成插件?

时间:2013-04-19 作者:Brandon Jones

我有一个自动生成页面的插件。有没有一种方法可以为这个插件添加功能,允许我设置页面的元描述、关键字和标题?我已经研究过像Yoast和AIOSEO这样的SEO插件,但我似乎无法达到预期的目标。

这是来源(UPDATED):

<?php

function wpse_36395_metadesc() {
    return \'Your Description\';
}

if($city){

    $args = array(
        \'post_title\'   => $city . " Electrician",
        \'post_name\'    => $city . "-electrician",
        \'post_date\'    => $_SESSION[\'cal_startdate\'],
        \'post_content\' => $citycontent,
        \'post_status\'  => \'publish\',
        \'post_type\'    => \'page\',
        \'post_parent\'  => 11192
    );

    $city_id = wp_insert_post($args);

    add_filter( \'wpseo_metadesc\', \'wpse_36395_metadesc\' );
}
?>
谨致问候,

布兰登

2 个回复
SO网友:Johannes Pille

理论上,你可以wp_headecho 回调中的标记:

function wpse_36395_meta_tags() {
    echo \'<meta name="description" content="Your Description" />\';
}
add_action( \'wp_head\', \'wpse_36395_meta_tags\' );
但请注意,如果主题已将标记硬编码到其<head></head> 第节,您将得到重复的标记
这是否比在这些页面上错过你的更令人满意,你必须自己决定
我不认为我会安装一个插件,将元标记强制插入我的标题中。

Edit: 至于你的评论,我对WordPress SEO API一点也不熟悉,但这些都是简单的过滤器,所以看看add_filter您应该能够使用该API。

这将产生预期的结果:

function wpse_36395_metadesc() {
    return \'Your Description\';
}
add_filter( \'wpseo_metadesc\', \'wpse_36395_metadesc\' );
请注意,现在您使您的插件依赖于WordPress SEO,但如果没有激活/安装,它将优雅地拒绝。

SO网友:pbaylies

布兰登,

以下是您如何在一个SEO包中实现这一点:

<?php

if( $city ){

    $args = array(
    \'post_title\'   => $city . " Electrician",
    \'post_name\'    => $city . "-electrician",
    \'post_date\'    => $_SESSION[\'cal_startdate\'],
    \'post_content\' => $citycontent,
    \'post_status\'  => \'publish\',
    \'post_type\'    => \'page\',
    \'post_parent\'  => 11192
    );

    $city_id = wp_insert_post($args);
    add_post_meta( $city_id, \'_aioseop_title\', $city . " Electrician" );
    add_post_meta( $city_id, \'_aioseop_description\', $citycontent );
    add_post_meta( $city_id, \'_aioseop_keywords\', \'city, electricians\' );
}
我只是在这里选择了一些示例值,但这些是所有搜索引擎优化包在帖子/页面等上使用的postmeta键。希望这能有所帮助!

结束

相关推荐

是否停止博客页面使用index.php?

我有一个静态主页与自定义模板,即hompage。php将blog循环设置为名为blogg的静态页面,它使用索引。php页面作为模板,有一个使用索引的其他页面集合。php作为默认模板,所以我不愿意更改它。是否有任何方法可以阻止blogg页面使用索引。php并为博客页面提供自己的模板页面,如blogg模板。php?问候Chris