2011-10-24 54 views
2

幾乎完成我的地產代理的WP插件, 我蜘蛛網站的404等,我注意到我的財產詳細信息頁面spider'd所有45頁的標題是:(詳細|網站名稱)(頁面標題是從ID動態地顯示通過查詢字符串傳遞)更改wp_title從我的Wordpress插件

現在我已經得到了我很好的固定的網址,網址是這樣的......

wpsite.com/details/20043/property+for+sale+in+this+area 

中...

  • PROPID = 20043
  • PROPNAME =屬性+爲+出售+在+ +本領域

二者這些查詢字符串其用於重寫網址的值。

'query_vars' => array('propid', 'propname'), 
'rules' => 
array('(.+?)/([^/]+)/([^/]+)/?$' => 'index.php?pagename=$matches[1]&propid=$matches[2]&propname=$matches[3]') 
); 

現在,當屬性的詳細信息頁面加載即時試圖掛接到WordPress的過濾 wp_title但是這個心不是我的工作預期的方式..

這是用來生成的標題代碼IM

function wp_myplugin_property_title() 
{ 
    $wp_acquaint_id = get_option("wp_system_id"); 
    $propid = get_query_var('propid'); 
    if(isset($propid)){ 
     $seotitle = wp_myplugin_seo_title($propid); 
    }else{ 
     $seotitle = "TEST Title"; 
    } 
    return $seotitle; 
} 

if(is_page('details')){ 
    add_filter('wp_title', wp_myplugin_property_title, 100); 
} 

該函數中使用的功能:wp_myplugin_seo_title($ PROPID)生成實際的頭銜,我想用...

function wp_myplugin_seo_title($propid) 
{ 
    $wp_acquaint_id = get_option("wp_acquaint_id"); 
    $xml = wp_myplugin_get_property($propid); 
    foreach($xml->PropertiesDataSet->Properties as $node) { 
     include('xml_loop.php'); 

     if($bedrooms==0){ }else{ $seo_title.= $bedrooms." bedroom "; } 

     $seo_title.= wp_myplugin_get_property_type($type_id)." "; //ie:flat 
     $seo_title.= str_replace("(","",$street); 
     $seo_title.= " ".$town." | ".get_bloginfo('name'); 
    } 
    return $seo_title; 
} 

我發現與if(is_page())在過濾器頁面標題dosnt改變的地方,如果我刪除is_page,道具細節頁面標題工作正常,但!!!

而在屬性列表頁面上,頁面標題循環瀏覽該頁面上的所有屬性,並生成大約1000個字符長的頁面標題。

我查了繞了更好的方式來處理這一點,但任何幫助將是巨大的..

乾杯

馬蒂

PS:目前由Yoast運行WordPress的搜索引擎! 這就是爲什麼香港專業教育學院設置優先級作爲100的add_filter只是爲了看看它是否會覆蓋冠軍。

回答

2

在functions.php中使用is_page不起作用,因爲它運行前WP知道它會呈現什麼頁面,或者即使它是一個開始的頁面。將is_page()粘貼在函數內部,它應該可以工作。喜歡:

function wp_myplugin_property_title() 
{ 
    if(is_page('details')){ 
    $wp_acquaint_id = get_option("wp_system_id"); 
    $propid = get_query_var('propid'); 
    if(isset($propid)){ 
     $seotitle = wp_myplugin_seo_title($propid); 
    }else{ 
     $seotitle = "TEST Title"; 
    } 
    return $seotitle; 
    } 
} 


add_filter('wp_title', wp_myplugin_property_title, 100); 
+1

你好傑裏,歡呼的男人,是啊,似乎是我能想出的最好的方式。 – Marty

+0

很高興爲你效勞! – Jerry