2017-01-18 29 views
0

Das WordPress Theme, das ich benutze, hat einige benutzerdefinierte Post-Typen, die als Teil eines zusätzlichen Plugins kommen. Diese Post-Typen sind für die Indizierung mit Algolia nicht verfügbar. Kann ich sie irgendwie zur Indexierung in den Index searchable_posts hinzufügen?Add Custom Post Type zu Algolia Index

Ich denke, dies ist der entsprechende Code in das Plugin ist:

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(); 

    } 

Antwort

3

Standardmäßig wird der durchsuchbaren Beiträge Index alle Post-Typen enthalten, die nicht gekennzeichnet sind, als von der Suche ausgeschlossen.

Hier ist die genaue Codezeile wir diejenigen verwenden holen:

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

Der einzige Weg, zu indizieren Post-Typen, die von der Suche ausgeschlossen werden, ist sicherzustellen, dass der Post-Typ nicht mehr von der Suche ausgeschlossen :

<?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

Diese Beitragstypen sind nicht markiert oder von der Suche ausgeschlossen. Wenn ich das Algolia Plugin deaktiviere, erscheinen sie in den Suchergebnissen. Der Code für die functions.php hilft nicht. – CannedBear

+0

Möchten Sie mitteilen, wie Post-Typen registriert sind? Ich denke, dass das Problem darin besteht, dass das Thema wahrscheinlich nur die Post-Typen mit einigen Hooks registriert, die während der Indizierung nicht ausgelöst werden. – rayrutjes

+0

Hi rayrutjes, Ich habe den ursprünglichen Beitrag hinzugefügt, was ich denke, könnte der relevante Code sein. – CannedBear

Verwandte Themen