Wordpress Shopp插件使用了wordpress的一个页面来动态输出网店内容,默认的Title带着SHOP这个词,感觉很多余,所以要想办法去掉。
去掉的方法就是在模板的functions.php文件中添加钩子函数修改Title输出,因为其它的SEO插件可以覆盖掉PAGE Title的格式,所以要保证Wordpress Shopp使用的页面title规则不被其它SEO插件控制。
修改方法如下,打开functions.php,在最后添加如下代码
function shopp_catalog_titles ($title) {
global $Shopp; // Access the Shopp data structure
$titles = array(); // A list to keep track of our title elements
if (shopp(‘catalog’,’is-category’)) // Build category page titles
$titles = array($Shopp->Category->name, get_bloginfo(‘name’));
if (shopp(‘catalog’,’is-product’)) {
if (!empty($Shopp->Category->name)) {
// Use category name, if available
//get the name of the first category
shopp(‘product’,’found’);
$cat = shopp(‘product’,’category’,’return=true’);
$titles = array(
$Shopp->Product->name,
$cat
);
} else {
// Category not available, just the product name
$titles = array($Shopp->Product->name, get_bloginfo(‘name’));
}
}
return join(” | “,$titles);
}
add_action(‘wp’, ‘forsite_change_titles_on_shopp_pages’);
function forsite_change_titles_on_shopp_pages(){
if ( is_page(‘X’)) {
//用Shopp使用的页面ID替换X
add_filter(‘wp_title’, ‘shopp_catalog_titles’,11,2);
}
}
修改后的TITLE格式为
Category页面:Category Name | Website Name
Product页面:Product Name | Category Name(一个产品可以属于多个目录,这里只显示第一个目录)
注意代码中这两句话
shopp(‘product’,’found’);
$cat = shopp(‘product’,’category’,’return=true’);
这是用来获取某个茶品所属的第一个目录名的语句,本以为用第二句话就够了,经过实验发现必须加上第一句话shopp(‘product’,’found’); ,不知道为什么。
你好,WooCommerce 插件使用后同样也想优化 title,请问怎么修改,谢谢
装插件,比如WordPress SEO