2014-03-26 293 views
0

我正在尋找一種簡單的方法來將自定義帖子類型自定義字段添加到它們中的自定義帖子類型,以便在我的Wordpress網站中搜索功能。我很好地以編程方式或使用插件,但我嘗試過的插件沒有意義。將自定義帖子類型/字段添加到Wordpress搜索

目前,當我搜索時,只有我的自定義帖子類型的標題會出現在搜索中,但我希望能夠通過類似於我的帖子類型,帳戶(例如關聯的人)用那個賬號。基本上我希望能夠鍵入Johnny Appleseed,即使他的賬戶的標題不是他的名字,他的名字也是一個名爲contact_name的自定義字段。

這怎麼辦?

回答

0

添加此「‘query_var’=>真」

添加上面的代碼,當你創建自定義後的類型。

更多信息遵循此:https://codex.wordpress.org/Function_Reference/register_post_type

,如果您使用下面的代碼的任何插件的用戶


add_filter('pre_get_posts', 'tgm_cpt_search'); 
/** 
* This function modifies the main WordPress query to include an array of post types instead of the default 'post' post type. 
* 
* @param mixed $query The original query 
* @return $query The amended query 
*/ 
function tgm_cpt_search($query) { 
if ($query->is_search) 
$query->set('post_type', array('post', 'movies', 'products', 'portfolio')); 
return $query; 
}; 
+0

我正在使用插件,我應該試着編輯插件嗎?另外,這是否適用於所有自定義字段? – Hunter

+0

if you can edit the plugin then good ... 或使用波紋管代碼 ------------------ add_filter('pre_get_posts','tgm_cpt_search'); /** *此功能修改主要WordPress查詢,以包含帖子類型數組而不是默認的「發佈」帖子類型。 * * PARAM混合$查詢的原始查詢 *返回$查詢修改後的查詢 */ 功能tgm_cpt_search($查詢){ 如果($查詢 - > is_search) $查詢 - >置( 'post_type',數組('後','電影','產品','組合')); return $ query; }; –

+0

迄今爲止還沒有工作...我會嘗試一些不同的東西 – Hunter

0

你不需要的插件,你需要修改(或創建)在你的主題的根目錄search.php。模型,可以archive.php後,主循環中

<?php while (have_posts()) : the_post(); ?> 
    //output post information here 
<?php endwhile; ?> 

您可以打開get_post_type(),並顯示在此基礎上不同的信息。

<?php while (have_posts()) : the_post(); ?> 
    if(get_post_type() == "custom_type") 
    { 
    //load custom fields and output here 
    } 
    else 
    { 
    //output normal post info here ala the_title(), the_excerpt(), etc... 
    } 
<?php endwhile; ?> 
相關問題