2017-01-18 11 views
0

WordPressのテーマ私は使用しているいくつかのカスタムポストタイプがaditionalプラグインの一部として提供されています。これらのポストタイプはAlgoliaのインデックス作成には使用できません。どういうわけかsearchable_postsインデックスへのインデックス付けのためにそれらを追加できますか?Algoliaのインデックスにカスタムポストタイプを追加する

私は、これはプラグインでは、関連するコードです推測:

private function init() { 

     $this->setup_constants(); 

     // Actions 
     add_action('plugins_loaded', array($this, 'load_languages'), 11); 
     add_action('init', array($this, 'init_settings'), 99); 
     add_action('init', array($this, 'register_post_type'), 100); 
     add_action('init', array($this, 'register_taxonomies'), 101); 
     add_action('add_meta_boxes', array($this, 'add_meta_boxes_function')); 
     add_action('pre_post_update', array($this, 'pre_post_update_function'), 10, 2); 
     add_action('save_post', array($this, 'save_meta_box_data')); 
     add_action('edit_form_after_title', array($this, 'add_meta_box_after_title')); 
     add_action('admin_menu', array($this, 'change_destination_menu')); 
     add_action('edit_form_top', array($this, 'edit_form_top_func'));   // need to tabs output 
     add_action('pre_get_posts', array($this, 'sort_destinations_by_meta_value')); 
     add_action('wp_footer', array($this, 'language_switcher_fix')); 

     // Filters 
     add_filter('template_include', array($this, 'para_destination_templates')); 
     add_filter('request', array($this, 'alter_the_query')); 
     add_filter('wp_title', array($this, 'page_name_wp_title'), 10, 2); 
     add_filter('wp_link_query', array($this, 'wp_link_query_destination'), 10, 2); 

     add_filter('oembed_discovery_links', array($this, 'oembed_discovery_links_rf'), 10, 2); 
     add_filter('previous_post_rel_link', array($this, 'previous_post_rel_link_rf')); 
     add_filter('next_post_rel_link', array($this, 'next_post_rel_link_rf')); 

     add_filter('wp_get_nav_menu_items', array($this, 'fix_menu_url_info_pages'), 10, 3); 
     add_filter('preview_post_link', array($this, 'fix_preview_link')); 
     // WP Init 
     add_action('init', array($this, 'load_scripts')); 

     // Settings 
     $this->settings = get_destination_settings(); 

     // Create objects 
     $this->master = new Travel_Master_Pages_CPT($this->settings); 
     $this->list = new Travel_Directory_CPT($this->settings); 
     $this->map = new Destination_Maps($this->settings, false); 

     // Compatibility 
     $this->backward(); 

    } 

答えて

3

デフォルトでは、検索可能なポストインデックスは検索対象から除外としてフラグが設定されていないすべてのポストタイプが含まれています。ここで

は、我々はそれらのをフェッチするために使用する正確なコード行です:

$searchable_post_types = get_post_types(array('exclude_from_search' => false), 'names'); 

検索から除外されているインデックス・ポストタイプへの唯一の方法は、ポストタイプはもう検索から除外されていないことを確認することです:

<?php 

// functions.php 

add_action('init', 'update_my_custom_type', 99); 

function update_my_custom_type() { 
    global $wp_post_types; 

    if (post_type_exists('my-custom-type')) { 

     // exclude from search results 
     $wp_post_types['my-custom-type']->exclude_from_search = false; 
    } 
} 
+0

これらの投稿タイプにはフラグが設定されていないか、検索対象から除外されていません。 Algolia Pluginを無効にすると、検索結果に表示されます。 functions.phpのコードは役に立ちません。 – CannedBear

+0

投稿タイプはどのように登録されていますか?私は問題はおそらく、テーマはおそらくインデックス作成中にトリガされないかもしれないいくつかのフックでポストタイプを登録するだけだと思います。 – rayrutjes

+0

こんにちはrayrutjes、私は元の投稿に、私は関連コードかもしれないと思うものを追加しました。 – CannedBear

関連する問題