← All changes
|
jetpack_vendor/automattic/jetpack-sync/src/modules/class-search.php
+1922
-0
16.2-beta
→
16.3
View file →
| @@ -1,0 +1,1922 @@ | ||
| 1 | +<?php | |
| 2 | +/** | |
| 3 | + * Configuration lists for Jetpack Search Fields | |
| 4 | + * | |
| 5 | + * Post Meta: list of post meta keys that are available in the index | |
| 6 | + * and how they are configured. | |
| 7 | + * | |
| 8 | + * Custom Taxonomy: list of custom taxonomies that are indexed. | |
| 9 | + * | |
| 10 | + * The reason we need an allowed list is that Elasticsearch runs into scaling problems | |
| 11 | + * with more than 200k-ish total fields. The barrier to adding new fields is low, | |
| 12 | + * just open a PR. | |
| 13 | + * | |
| 14 | + * Although the comments indicate specific plugins, you don't need to be running | |
| 15 | + * that plugin for the indexing to work. The metakey just has to match. | |
| 16 | + * | |
| 17 | + * If you need a new meta key or taxonomy also consider using: | |
| 18 | + * jetpack-search-meta0 - jetpack-search-meta9 | |
| 19 | + * jetpack-search-tag0 - jetpack-search-tag9 | |
| 20 | + * | |
| 21 | + * @package automattic/jetpack-sync | |
| 22 | + */ | |
| 23 | + | |
| 24 | +namespace Automattic\Jetpack\Sync\Modules; | |
| 25 | + | |
| 26 | +use Automattic\Jetpack\Search\AI_Answers; | |
| 27 | + | |
| 28 | +if ( ! defined( 'ABSPATH' ) ) { | |
| 29 | + exit( 0 ); | |
| 30 | +} | |
| 31 | + | |
| 32 | +/** | |
| 33 | + * Class to handle sync for Jetpack Search. | |
| 34 | + */ | |
| 35 | +class Search extends Module { | |
| 36 | + | |
| 37 | + /** | |
| 38 | + * Sync module name. | |
| 39 | + * | |
| 40 | + * @access public | |
| 41 | + * | |
| 42 | + * @return string | |
| 43 | + */ | |
| 44 | + public function name() { | |
| 45 | + return 'search'; | |
| 46 | + } | |
| 47 | + | |
| 48 | + /** | |
| 49 | + * Constructor. | |
| 50 | + */ | |
| 51 | + public function __construct() { | |
| 52 | + // Post meta whitelists. | |
| 53 | + add_filter( 'jetpack_sync_post_meta_whitelist', array( $this, 'add_search_post_meta_whitelist' ), 10 ); | |
| 54 | + // Add options | |
| 55 | + add_filter( 'jetpack_sync_options_whitelist', array( $this, 'add_search_options_whitelist' ), 10 ); | |
| 56 | + // AI Answers CPTs and post meta (gated by feature flag). | |
| 57 | + add_filter( 'jetpack_sync_post_types_whitelist', array( $this, 'add_ai_answer_post_types' ), 10 ); | |
| 58 | + } | |
| 59 | + | |
| 60 | + /** | |
| 61 | + * Post meta search specification. | |
| 62 | + * | |
| 63 | + * We sync and index all meta keys in this list. Additionally there are a few | |
| 64 | + * options. | |
| 65 | + * | |
| 66 | + * 'metakey' => [ 'searchable_in_all_content' => true ], | |
| 67 | + * Field will be included in the all_content fields | |
| 68 | + * | |
| 69 | + * 'metakey' => [ 'available' => false, 'alternatives' => [ 'metakey_processed' ] ], | |
| 70 | + * Field not in meta.* but has data in an alternative field(s) name that | |
| 71 | + * should work similarly. For instance, woocommerce total_sales does not go into | |
| 72 | + * the index, but the percentage of sales does. | |
| 73 | + * | |
| 74 | + * @static | |
| 75 | + * @access private | |
| 76 | + * @var array | |
| 77 | + */ | |
| 78 | + private static $postmeta_to_sync = array( | |
| 79 | + // jetpack. | |
| 80 | + '_guideline_block_jetpack_search-ai-summary' => array(), // AI Answers personality (Gutenberg Guidelines CPT). | |
| 81 | + 'jetpack-search-meta0' => array( 'searchable_in_all_content' => true ), | |
| 82 | + 'jetpack-search-meta1' => array( 'searchable_in_all_content' => true ), | |
| 83 | + 'jetpack-search-meta2' => array( 'searchable_in_all_content' => true ), | |
| 84 | + 'jetpack-search-meta3' => array( 'searchable_in_all_content' => true ), | |
| 85 | + 'jetpack-search-meta4' => array( 'searchable_in_all_content' => true ), | |
| 86 | + 'jetpack-search-meta5' => array( 'searchable_in_all_content' => true ), | |
| 87 | + 'jetpack-search-meta6' => array( 'searchable_in_all_content' => true ), | |
| 88 | + 'jetpack-search-meta7' => array( 'searchable_in_all_content' => true ), | |
| 89 | + 'jetpack-search-meta8' => array( 'searchable_in_all_content' => true ), | |
| 90 | + 'jetpack-search-meta9' => array( 'searchable_in_all_content' => true ), | |
| 91 | + | |
| 92 | + // woocommerce. | |
| 93 | + 'exclude_product_categories' => array(), | |
| 94 | + 'exclude_product_ids' => array(), | |
| 95 | + 'free_shipping' => array(), | |
| 96 | + 'id_field' => array(), | |
| 97 | + 'individual_use' => array(), | |
| 98 | + 'limit_usage_to_x_items' => array(), | |
| 99 | + 'maximum_amount' => array(), | |
| 100 | + 'minimum_amount' => array(), | |
| 101 | + 'post_id' => array(), | |
| 102 | + 'product_categories' => array( 'searchable_in_all_content' => true ), | |
| 103 | + 'product_ids' => array(), | |
| 104 | + 'total_sales' => array( | |
| 105 | + 'available' => false, | |
| 106 | + 'alternatives' => array( | |
| 107 | + 'wc.percent_of_sales', | |
| 108 | + ), | |
| 109 | + ), | |
| 110 | + 'usage_limit' => array(), | |
| 111 | + 'usage_limit_per_user' => array(), | |
| 112 | + '_crosssell_ids' => array(), | |
| 113 | + '_downloadable' => array(), | |
| 114 | + '_featured' => array(), | |
| 115 | + '_height' => array(), | |
| 116 | + '_length' => array(), | |
| 117 | + '_price' => array( | |
| 118 | + 'alternatives' => array( | |
| 119 | + 'wc.price', | |
| 120 | + 'wc.min_price', | |
| 121 | + 'wc.max_price', | |
| 122 | + ), | |
| 123 | + ), | |
| 124 | + '_prices_include_tax' => array(), | |
| 125 | + '_product_attributes' => array(), | |
| 126 | + '_product_version' => array(), | |
| 127 | + '_regular_price' => array( | |
| 128 | + 'alternatives' => array( | |
| 129 | + 'wc.regular_price', | |
| 130 | + ), | |
| 131 | + ), | |
| 132 | + '_sale_price' => array( | |
| 133 | + 'alternatives' => array( | |
| 134 | + 'wc.sale_price', | |
| 135 | + ), | |
| 136 | + ), | |
| 137 | + '_sale_price_dates_from' => array(), | |
| 138 | + '_sale_price_dates_to' => array(), | |
| 139 | + '_sku' => array( 'searchable_in_all_content' => true ), | |
| 140 | + '_stock_status' => array(), | |
| 141 | + '_wc_average_rating' => array( | |
| 142 | + 'alternatives' => array( | |
| 143 | + 'wc.ave_rating_score', | |
| 144 | + ), | |
| 145 | + ), | |
| 146 | + '_wc_rating_count' => array( | |
| 147 | + 'alternatives' => array( | |
| 148 | + 'wc.rating', // wc.rating.count_1, wc.rating.count_2, ... | |
| 149 | + ), | |
| 150 | + ), | |
| 151 | + '_wc_review_count' => array(), | |
| 152 | + '_weight' => array(), | |
| 153 | + '_width' => array(), | |
| 154 | + | |
| 155 | + // co-authors plus. | |
| 156 | + 'cap-description' => array( 'searchable_in_all_content' => true ), | |
| 157 | + 'cap-user_login' => array( 'searchable_in_all_content' => true ), | |
| 158 | + 'cap-user_email' => array(), | |
| 159 | + 'cap-last_name' => array( 'searchable_in_all_content' => true ), | |
| 160 | + 'cap-first_name' => array( 'searchable_in_all_content' => true ), | |
| 161 | + 'cap-display_name' => array( 'searchable_in_all_content' => true ), | |
| 162 | + 'cap-website' => array(), | |
| 163 | + 'cap-jabber' => array(), | |
| 164 | + 'cap-aim' => array(), | |
| 165 | + 'cap-twitter' => array(), | |
| 166 | + 'cap-facebook' => array(), | |
| 167 | + 'cap-google_plus' => array(), | |
| 168 | + 'cap-job_title' => array( 'searchable_in_all_content' => true ), | |
| 169 | + | |
| 170 | + // bbpress. | |
| 171 | + 'bbpl_like' => array(), | |
| 172 | + 'bbpress_discussion_comments_copied' => array(), | |
| 173 | + 'bbpress_discussion_tags_copied' => array(), | |
| 174 | + 'bbpress_discussion_topic_id' => array(), | |
| 175 | + 'bbpress_discussion_use_defaults' => array(), | |
| 176 | + 'bbpress_page_header_bg' => array(), | |
| 177 | + 'bbpress_title_bg' => array(), | |
| 178 | + 'use_bbpress_discussion_topic' => array(), | |
| 179 | + | |
| 180 | + // wpml. | |
| 181 | + 'tm_meta_wpml' => array(), | |
| 182 | + 'wpml_language' => array(), | |
| 183 | + 'wpml_media_lang' => array(), | |
| 184 | + 'wpml_media_processed' => array(), | |
| 185 | + | |
| 186 | + // blogger import. | |
| 187 | + 'blogger_author' => array( 'searchable_in_all_content' => true ), | |
| 188 | + 'blogger_blog' => array( 'searchable_in_all_content' => true ), | |
| 189 | + 'blogger_permalink' => array( 'searchable_in_all_content' => true ), | |
| 190 | + | |
| 191 | + // geo. | |
| 192 | + 'geo_address' => array( 'searchable_in_all_content' => true ), | |
| 193 | + 'geo_latitude' => array(), | |
| 194 | + 'geo_longitude' => array(), | |
| 195 | + 'geo_public' => array(), | |
| 196 | + 'geolocated' => array(), | |
| 197 | + 'geolocation_city' => array( 'searchable_in_all_content' => true ), | |
| 198 | + 'geolocation_country_long' => array( 'searchable_in_all_content' => true ), | |
| 199 | + 'geolocation_country_short' => array( 'searchable_in_all_content' => true ), | |
| 200 | + 'geolocation_formatted_address' => array( 'searchable_in_all_content' => true ), | |
| 201 | + 'geolocation_lat' => array(), | |
| 202 | + 'geolocation_long' => array(), | |
| 203 | + 'geolocation_postcode' => array( 'searchable_in_all_content' => true ), | |
| 204 | + 'geolocation_state_long' => array( 'searchable_in_all_content' => true ), | |
| 205 | + 'geolocation_state_short' => array( 'searchable_in_all_content' => true ), | |
| 206 | + | |
| 207 | + // wp-ultimate-recipe. | |
| 208 | + 'recipe_alternate_image' => array(), | |
| 209 | + 'recipe_cook_time' => array(), | |
| 210 | + 'recipe_cook_time_text' => array(), | |
| 211 | + 'recipe_description' => array( 'searchable_in_all_content' => true ), | |
| 212 | + 'recipe_ingredients' => array( 'searchable_in_all_content' => true ), | |
| 213 | + 'recipe_instructions' => array( 'searchable_in_all_content' => true ), | |
| 214 | + 'recipe_notes' => array( 'searchable_in_all_content' => true ), | |
| 215 | + 'recipe_nutritional' => array( 'searchable_in_all_content' => true ), | |
| 216 | + 'recipe_passive_time' => array(), | |
| 217 | + 'recipe_passive_time_text' => array(), | |
| 218 | + 'recipe_prep_time' => array(), | |
| 219 | + 'recipe_prep_time_text' => array(), | |
| 220 | + 'recipe_rating' => array(), | |
| 221 | + 'recipe_servings' => array(), | |
| 222 | + 'recipe_servings_normalized' => array(), | |
| 223 | + 'recipe_servings_type' => array(), | |
| 224 | + 'recipe_terms' => array( 'searchable_in_all_content' => true ), | |
| 225 | + 'recipe_terms_with_parents' => array(), | |
| 226 | + 'recipe_title' => array( 'searchable_in_all_content' => true ), | |
| 227 | + 'recipe_user_ratings' => array(), | |
| 228 | + 'recipe_user_ratings_rating' => array(), | |
| 229 | + | |
| 230 | + // generic fields. | |
| 231 | + // from advanced-custom-fields and metabox.io . | |
| 232 | + 'Link' => array(), | |
| 233 | + 'Location' => array(), | |
| 234 | + 'Title' => array( 'searchable_in_all_content' => true ), | |
| 235 | + 'ad_code' => array(), | |
| 236 | + 'address' => array(), | |
| 237 | + 'admin_mail' => array(), | |
| 238 | + 'admin_only' => array(), | |
| 239 | + 'advertisers' => array( 'searchable_in_all_content' => true ), | |
| 240 | + 'age' => array(), | |
| 241 | + 'aliases' => array(), | |
| 242 | + 'alternate_title' => array(), | |
| 243 | + 'ama_content' => array(), | |
| 244 | + 'amazon' => array(), | |
| 245 | + 'answer' => array( 'searchable_in_all_content' => true ), | |
| 246 | + 'area' => array(), | |
| 247 | + 'attention' => array(), | |
| 248 | + 'attr' => array(), | |
| 249 | + 'author' => array( 'searchable_in_all_content' => true ), | |
| 250 | + 'author_name' => array( 'searchable_in_all_content' => true ), | |
| 251 | + 'blog' => array(), | |
| 252 | + 'blog_id' => array(), | |
| 253 | + 'call_to_action' => array(), | |
| 254 | + 'campaign_preview' => array(), | |
| 255 | + 'canonical_url' => array(), | |
| 256 | + 'catch_text' => array(), | |
| 257 | + 'category' => array( 'searchable_in_all_content' => true ), | |
| 258 | + 'classificacao' => array(), | |
| 259 | + 'classification' => array(), | |
| 260 | + 'code' => array(), | |
| 261 | + 'codigo' => array(), | |
| 262 | + 'company' => array( 'searchable_in_all_content' => true ), | |
| 263 | + 'company_website' => array(), | |
| 264 | + 'config' => array(), | |
| 265 | + 'construction' => array(), | |
| 266 | + 'container_ids' => array(), | |
| 267 | + 'content' => array( 'searchable_in_all_content' => true ), | |
| 268 | + 'content_body-full_content' => array( 'searchable_in_all_content' => true ), | |
| 269 | + 'copyright' => array(), | |
| 270 | + 'custom_page_title' => array( 'searchable_in_all_content' => true ), | |
| 271 | + 'custom_permalink' => array(), | |
| 272 | + 'customize' => array(), | |
| 273 | + 'data' => array(), | |
| 274 | + 'date' => array(), | |
| 275 | + 'day' => array(), | |
| 276 | + 'descripcion' => array( 'searchable_in_all_content' => true ), | |
| 277 | + 'description' => array( 'searchable_in_all_content' => true ), | |
| 278 | + 'display_settings' => array(), | |
| 279 | + 'display_type' => array(), | |
| 280 | + 'duration' => array(), | |
| 281 | + 'embed' => array(), | |
| 282 | + 'entity_ids' => array(), | |
| 283 | + 'entity_types' => array(), | |
| 284 | + 'event_subtitle' => array( 'searchable_in_all_content' => true ), | |
| 285 | + 'excluded_container_ids' => array(), | |
| 286 | + 'exclusions' => array(), | |
| 287 | + 'experience' => array(), | |
| 288 | + 'external_url' => array(), | |
| 289 | + 'featured' => array(), | |
| 290 | + 'featured_image' => array(), | |
| 291 | + 'featured_post' => array(), | |
| 292 | + 'featured_story' => array(), | |
| 293 | + 'fee' => array(), | |
| 294 | + 'filter' => array(), | |
| 295 | + 'follow' => array(), | |
| 296 | + 'footer_text' => array(), | |
| 297 | + 'from_header' => array(), | |
| 298 | + 'fullscreen_view' => array(), | |
| 299 | + 'gallery' => array(), | |
| 300 | + 'genre' => array( 'searchable_in_all_content' => true ), | |
| 301 | + 'guest_bio' => array(), | |
| 302 | + 'guest_name' => array(), | |
| 303 | + 'guests' => array( 'searchable_in_all_content' => true ), | |
| 304 | + 'has_variations' => array(), | |
| 305 | + 'hashtag' => array(), | |
| 306 | + 'header_image' => array(), | |
| 307 | + 'hidden_from_ui' => array(), | |
| 308 | + 'hide_on_screen' => array(), | |
| 309 | + 'homepage_order' => array(), | |
| 310 | + 'hours' => array(), | |
| 311 | + 'i18n' => array(), | |
| 312 | + 'id' => array(), | |
| 313 | + 'image' => array(), | |
| 314 | + 'image_size' => array(), | |
| 315 | + 'image_source' => array(), | |
| 316 | + 'index' => array(), | |
| 317 | + 'intro_text' => array( 'searchable_in_all_content' => true ), | |
| 318 | + 'job_mention' => array( 'searchable_in_all_content' => true ), | |
| 319 | + 'keywords' => array( 'searchable_in_all_content' => true ), | |
| 320 | + 'latest_news' => array(), | |
| 321 | + 'layout' => array(), | |
| 322 | + 'link' => array(), | |
| 323 | + 'link_dump' => array( 'searchable_in_all_content' => true ), | |
| 324 | + 'link_url' => array(), | |
| 325 | + 'location' => array(), | |
| 326 | + 'logo' => array(), | |
| 327 | + 'main_title' => array( 'searchable_in_all_content' => true ), | |
| 328 | + 'maximum_entity_count' => array(), | |
| 329 | + 'media' => array(), | |
| 330 | + 'mentions' => array(), | |
| 331 | + 'messages' => array(), | |
| 332 | + 'meta_description' => array( 'searchable_in_all_content' => true ), | |
| 333 | + 'meta_id' => array(), | |
| 334 | + 'meta_index' => array(), | |
| 335 | + 'meta_key' => array(), | |
| 336 | + 'meta_value' => array(), | |
| 337 | + 'modal-dialog-id' => array(), | |
| 338 | + 'name' => array( 'searchable_in_all_content' => true ), | |
| 339 | + 'nombre' => array( 'searchable_in_all_content' => true ), | |
| 340 | + 'notes' => array( 'searchable_in_all_content' => true ), | |
| 341 | + 'options' => array(), | |
| 342 | + 'order_by' => array(), | |
| 343 | + 'order_direction' => array(), | |
| 344 | + 'original_cats' => array(), | |
| 345 | + 'original_headers' => array(), | |
| 346 | + 'original_link' => array(), | |
| 347 | + 'original_message' => array(), | |
| 348 | + 'original_subject' => array(), | |
| 349 | + 'original_title' => array(), | |
| 350 | + 'original_to' => array(), | |
| 351 | + 'other_setting' => array(), | |
| 352 | + 'page_canonical' => array(), | |
| 353 | + 'page_layout' => array(), | |
| 354 | + 'page_sidebar' => array(), | |
| 355 | + 'page_tags' => array(), | |
| 356 | + 'panels_data' => array(), | |
| 357 | + 'parking' => array(), | |
| 358 | + 'pdf_upload' => array(), | |
| 359 | + 'people_mentioned' => array(), | |
| 360 | + 'photo' => array(), | |
| 361 | + 'play_time' => array(), | |
| 362 | + 'position' => array(), | |
| 363 | + 'post-rating' => array(), | |
| 364 | + 'post_background' => array(), | |
| 365 | + 'post_color' => array(), | |
| 366 | + 'post_sidebar' => array(), | |
| 367 | + 'post_subtitle' => array( 'searchable_in_all_content' => true ), | |
| 368 | + 'price' => array(), | |
| 369 | + 'publication' => array(), | |
| 370 | + 'rating' => array(), | |
| 371 | + 'ratings_average' => array(), | |
| 372 | + 'ratings_score' => array(), | |
| 373 | + 'ratings_users' => array(), | |
| 374 | + 'relation' => array(), | |
| 375 | + 'reply_to_header' => array(), | |
| 376 | + 'required' => array(), | |
| 377 | + 'returns' => array(), | |
| 378 | + 'review_post' => array(), | |
| 379 | + 'rule' => array(), | |
| 380 | + 'section' => array( 'searchable_in_all_content' => true ), | |
| 381 | + 'selected_links' => array(), | |
| 382 | + 'session_transcript' => array(), | |
| 383 | + 'settings' => array(), | |
| 384 | + 'sex' => array(), | |
| 385 | + 'shares_count' => array(), | |
| 386 | + 'show_description' => array( 'searchable_in_all_content' => true ), | |
| 387 | + 'show_page_title' => array(), | |
| 388 | + 'show_notes' => array(), | |
| 389 | + 'show_notes_preview' => array(), | |
| 390 | + 'side' => array(), | |
| 391 | + 'sidebar' => array(), | |
| 392 | + 'site' => array(), | |
| 393 | + 'situation' => array(), | |
| 394 | + 'slide_template' => array(), | |
| 395 | + 'slug' => array(), | |
| 396 | + 'sortorder' => array(), | |
| 397 | + 'source' => array(), | |
| 398 | + 'start_date' => array(), | |
| 399 | + 'status' => array(), | |
| 400 | + 'styles' => array(), | |
| 401 | + 'subtitle' => array( 'searchable_in_all_content' => true ), | |
| 402 | + 'subtitulo' => array(), | |
| 403 | + 'success' => array(), | |
| 404 | + 'summary' => array( 'searchable_in_all_content' => true ), | |
| 405 | + 'synopsis' => array( 'searchable_in_all_content' => true ), | |
| 406 | + 'tel' => array(), | |
| 407 | + 'tema' => array(), | |
| 408 | + 'testimonial' => array(), | |
| 409 | + 'testimonial_author' => array(), | |
| 410 | + 'text_already_subscribed' => array(), | |
| 411 | + 'text_error' => array(), | |
| 412 | + 'text_invalid_email' => array(), | |
| 413 | + 'text_not_subscribed' => array(), | |
| 414 | + 'text_required_field_missing' => array(), | |
| 415 | + 'text_subscribed' => array(), | |
| 416 | + 'text_unsubscribed' => array(), | |
| 417 | + 'thumbnail' => array(), | |
| 418 | + 'time' => array(), | |
| 419 | + 'time_jump_list' => array( 'searchable_in_all_content' => true ), | |
| 420 | + 'title' => array( 'searchable_in_all_content' => true ), | |
| 421 | + 'title_view' => array(), | |
| 422 | + 'titre' => array( 'searchable_in_all_content' => true ), | |
| 423 | + 'titulo' => array( 'searchable_in_all_content' => true ), | |
| 424 | + 'to_header' => array(), | |
| 425 | + 'toc' => array(), | |
| 426 | + 'transcript' => array( 'searchable_in_all_content' => true ), | |
| 427 | + 'transport_uri' => array(), | |
| 428 | + 'type' => array(), | |
| 429 | + 'url' => array(), | |
| 430 | + 'validation' => array(), | |
| 431 | + 'value' => array(), | |
| 432 | + 'values' => array(), | |
| 433 | + 'variation' => array(), | |
| 434 | + 'video' => array(), | |
| 435 | + 'video_type' => array(), | |
| 436 | + 'video_url' => array(), | |
| 437 | + 'videopress_guid' => array(), | |
| 438 | + 'website' => array(), | |
| 439 | + 'weight' => array(), | |
| 440 | + 'year' => array(), | |
| 441 | + | |
| 442 | + // wp.com martketplace search - @see https://wp.me/pdh6GB-Ax#comment-2104 | |
| 443 | + '_app_icon' => array(), | |
| 444 | + '_featured_product_video' => array(), | |
| 445 | + 'wpcom_marketplace_org_slug' => array(), | |
| 446 | + '_wc_general_product_dependency_theme' => array(), | |
| 447 | + '_wc_general_product_dependency_plugin' => array(), | |
| 448 | + 'wpcom_marketplace_product_extra_fields' => array(), | |
| 449 | + 'wccom_product_search_keywords' => array( 'searchable_in_all_content' => true ), | |
| 450 | + '_wccom_product_faqs' => array( 'searchable_in_all_content' => true ), | |
| 451 | + 'wccom_product_features' => array( 'searchable_in_all_content' => true ), | |
| 452 | + 'wccom_product_compatibility' => array( 'searchable_in_all_content' => true ), | |
| 453 | + | |
| 454 | + ); // end indexed post meta. | |
| 455 | + | |
| 456 | + /** | |
| 457 | + * Postmeta being considered for indexing | |
| 458 | + * but currently not in the index | |
| 459 | + * this list is really only for documentation. | |
| 460 | + * | |
| 461 | + * @static | |
| 462 | + * @access private | |
| 463 | + * @var array | |
| 464 | + */ | |
| 465 | + private static $unindexed_postmeta = array( | |
| 466 | + | |
| 467 | + // Core. | |
| 468 | + '_wp_attached_file' => array(), | |
| 469 | + '_wp_attachment_context' => array(), | |
| 470 | + '_wp_attachment_image_alt' => array(), | |
| 471 | + '_wp_attachment_is_custom_header' => array(), | |
| 472 | + '_wp_attachment_metadata' => array(), | |
| 473 | + '_wp_desired_post_slug' => array(), | |
| 474 | + '_wp_old_date' => array(), | |
| 475 | + '_wp_old_slug' => array(), | |
| 476 | + '_wp_page_template' => array(), | |
| 477 | + | |
| 478 | + // WooCommerce products. | |
| 479 | + // See https://github.com/woocommerce/woocommerce/blob/8ed6e7436ff87c2153ed30edd83c1ab8abbdd3e9/includes/data-stores/class-wc-product-data-store-cpt.php#L21 . | |
| 480 | + '_backorders' => array(), | |
| 481 | + '_default_attributes' => array(), | |
| 482 | + '_download_expiry' => array(), | |
| 483 | + '_download_limit' => array(), | |
| 484 | + '_download_permissions_granted' => array(), | |
| 485 | + '_downloadable_files' => array(), | |
| 486 | + '_file_paths' => array(), | |
| 487 | + '_manage_stock' => array(), | |
| 488 | + '_product_image_gallery' => array(), | |
| 489 | + '_purchase_note' => array(), | |
| 490 | + '_recorded_sales' => array(), | |
| 491 | + '_sold_individually' => array(), | |
| 492 | + '_stock' => array(), | |
| 493 | + '_tax_class' => array(), | |
| 494 | + '_tax_status' => array(), | |
| 495 | + '_thumbnail_id' => array(), | |
| 496 | + '_upsell_ids' => array(), | |
| 497 | + '_variation_description' => array(), | |
| 498 | + '_virtual' => array(), | |
| 499 | + '_visibility' => array(), | |
| 500 | + 'coupon_amount' => array(), | |
| 501 | + 'default_source' => array(), | |
| 502 | + 'discount_type' => array(), | |
| 503 | + 'exclude_sale_items' => array(), | |
| 504 | + 'expiry_date' => array(), | |
| 505 | + | |
| 506 | + // Woocommerce orders and refunds. | |
| 507 | + // See https://github.com/woocommerce/woocommerce/blob/8ed6e7436ff87c2153ed30edd83c1ab8abbdd3e9/includes/data-stores/class-wc-order-data-store-cpt.php#L27 . | |
| 508 | + // See https://github.com/woocommerce/woocommerce/blob/b8a2815ae546c836467008739e7ff5150cb08e93/includes/data-stores/class-wc-order-refund-data-store-cpt.php#L20 . | |
| 509 | + '_billing_address_1' => array(), | |
| 510 | + '_billing_address_2' => array(), | |
| 511 | + '_billing_address_index' => array(), | |
| 512 | + '_billing_city' => array(), | |
| 513 | + '_billing_company' => array(), | |
| 514 | + '_billing_country' => array(), | |
| 515 | + '_billing_email' => array(), | |
| 516 | + '_billing_first_name' => array(), | |
| 517 | + '_billing_last_name' => array(), | |
| 518 | + '_billing_phone' => array(), | |
| 519 | + '_billing_postcode' => array(), | |
| 520 | + '_billing_state' => array(), | |
| 521 | + '_cart_discount' => array(), | |
| 522 | + '_cart_discount_tax' => array(), | |
| 523 | + '_completed_date' => array(), | |
| 524 | + '_created_via' => array(), | |
| 525 | + '_customer_ip_address' => array(), | |
| 526 | + '_customer_user_agent' => array(), | |
| 527 | + '_date_completed' => array(), | |
| 528 | + '_date_paid' => array(), | |
| 529 | + '_order_currency' => array(), | |
| 530 | + '_order_key' => array(), | |
| 531 | + '_order_shipping' => array(), | |
| 532 | + '_order_shipping_tax' => array(), | |
| 533 | + '_order_stock_reduced' => array(), | |
| 534 | + '_order_tax' => array(), | |
| 535 | + '_order_total' => array(), | |
| 536 | + '_order_version' => array(), | |
| 537 | + '_paid_date' => array(), | |
| 538 | + '_payment_method' => array(), | |
| 539 | + '_payment_method_title' => array(), | |
| 540 | + '_payment_tokens' => array(), | |
| 541 | + '_recorded_coupon_usage_counts' => array(), | |
| 542 | + '_refund_amount' => array(), | |
| 543 | + '_refund_reason' => array(), | |
| 544 | + '_refunded_by' => array(), | |
| 545 | + '_shipping_address_1' => array(), | |
| 546 | + '_shipping_address_2' => array(), | |
| 547 | + '_shipping_address_index' => array(), | |
| 548 | + '_shipping_city' => array(), | |
| 549 | + '_shipping_company' => array(), | |
| 550 | + '_shipping_country' => array(), | |
| 551 | + '_shipping_first_name' => array(), | |
| 552 | + '_shipping_last_name' => array(), | |
| 553 | + '_shipping_postcode' => array(), | |
| 554 | + '_shipping_state' => array(), | |
| 555 | + '_transaction_id' => array(), | |
| 556 | + | |
| 557 | + // aioseop. | |
| 558 | + '_aioseop_description' => array(), | |
| 559 | + '_aioseop_keywords' => array(), | |
| 560 | + '_aioseop_title' => array(), | |
| 561 | + | |
| 562 | + // yoast. | |
| 563 | + '_yoast_wpseo_authorship' => array(), | |
| 564 | + '_yoast_wpseo_bctitle' => array(), | |
| 565 | + '_yoast_wpseo_canonical' => array(), | |
| 566 | + '_yoast_wpseo_content_score' => array(), | |
| 567 | + '_yoast_wpseo_focuskw' => array(), | |
| 568 | + '_yoast_wpseo_focuskw_text_input' => array(), | |
| 569 | + '_yoast_wpseo_google-plus-description' => array(), | |
| 570 | + '_yoast_wpseo_google-plus-image' => array(), | |
| 571 | + '_yoast_wpseo_linkdex' => array(), | |
| 572 | + '_yoast_wpseo_meta-robots-adv' => array(), | |
| 573 | + '_yoast_wpseo_meta-robots-nofollow' => array(), | |
| 574 | + '_yoast_wpseo_meta-robots-noindex' => array(), | |
| 575 | + '_yoast_wpseo_metadesc' => array(), | |
| 576 | + '_yoast_wpseo_metakeywords' => array(), | |
| 577 | + '_yoast_wpseo_opengraph-description' => array(), | |
| 578 | + '_yoast_wpseo_opengraph-image' => array(), | |
| 579 | + '_yoast_wpseo_opengraph-title' => array(), | |
| 580 | + '_yoast_wpseo_primary_byline' => array(), | |
| 581 | + '_yoast_wpseo_primary_category' => array(), | |
| 582 | + '_yoast_wpseo_primary_product_cat' => array(), | |
| 583 | + '_yoast_wpseo_primary_sponsor-type' => array(), | |
| 584 | + '_yoast_wpseo_primary_tema_category' => array(), | |
| 585 | + '_yoast_wpseo_primary_wpdmcategory' => array(), | |
| 586 | + '_yoast_wpseo_primary_wt_portfolio_category' => array(), | |
| 587 | + '_yoast_wpseo_redirect' => array(), | |
| 588 | + '_yoast_wpseo_sitemap-include' => array(), | |
| 589 | + '_yoast_wpseo_sitemap-prio' => array(), | |
| 590 | + '_yoast_wpseo_title' => array(), | |
| 591 | + '_yoast_wpseo_twitter-description' => array(), | |
| 592 | + '_yoast_wpseo_twitter-image' => array(), | |
| 593 | + | |
| 594 | + // bbpress. | |
| 595 | + 'bbppu_read_by' => array(), | |
| 596 | + '_bbp_activity_id' => array(), | |
| 597 | + '_bbp_attachment' => array(), | |
| 598 | + '_bbp_attachment_upload_error' => array(), | |
| 599 | + '_bbp_forum_id' => array(), | |
| 600 | + '_bbp_forum_parent_id' => array(), | |
| 601 | + '_bbp_forum_subforum_count' => array(), | |
| 602 | + '_bbp_forum_type' => array(), | |
| 603 | + '_bbp_group_ids' => array(), | |
| 604 | + '_bbp_last_active_id' => array(), | |
| 605 | + '_bbp_last_active_time' => array(), | |
| 606 | + '_bbp_last_reply_id' => array(), | |
| 607 | + '_bbp_last_topic_id' => array(), | |
| 608 | + '_bbp_old_forum_id' => array(), | |
| 609 | + '_bbp_old_sticky_status' => array(), | |
| 610 | + '_bbp_old_topic_id' => array(), | |
| 611 | + '_bbp_post_id' => array(), | |
| 612 | + '_bbp_reply_count' => array(), | |
| 613 | + '_bbp_reply_is_private' => array(), | |
| 614 | + '_bbp_reply_to' => array(), | |
| 615 | + '_bbp_revision_log' => array(), | |
| 616 | + '_bbp_status' => array(), | |
| 617 | + '_bbp_sticky_topics' => array(), | |
| 618 | + '_bbp_topic_count' => array(), | |
| 619 | + '_bbp_topic_id' => array(), | |
| 620 | + '_bbp_total_reply_count' => array(), | |
| 621 | + '_bbp_total_topic_count' => array(), | |
| 622 | + '_bbp_voice_count' => array(), | |
| 623 | + | |
| 624 | + // ??? | |
| 625 | + '_locale' => array(), | |
| 626 | + | |
| 627 | + // wp-job-manager. | |
| 628 | + '_job_title' => array(), | |
| 629 | + '_job_description' => array(), | |
| 630 | + | |
| 631 | + // wpml. | |
| 632 | + '_wpml_media_duplicate' => array(), | |
| 633 | + '_wpml_media_featured' => array(), | |
| 634 | + | |
| 635 | + // generic fields. | |
| 636 | + 'ad_clicks_count' => array(), | |
| 637 | + 'email' => array(), | |
| 638 | + 'usage_count' => array(), | |
| 639 | + 'user_mail' => array(), | |
| 640 | + 'views' => array(), | |
| 641 | + '_EventAllDay' => array(), | |
| 642 | + '_EventCost' => array(), | |
| 643 | + '_EventCurrencyPosition' => array(), | |
| 644 | + '_EventCurrencySymbol' => array(), | |
| 645 | + '_EventDuration' => array(), | |
| 646 | + '_EventEndDate' => array(), | |
| 647 | + '_EventEndDateUTC' => array(), | |
| 648 | + '_EventOrganizerID' => array(), | |
| 649 | + '_EventOrigin' => array(), | |
| 650 | + '_EventShowMap' => array(), | |
| 651 | + '_EventShowMapLink' => array(), | |
| 652 | + '_EventStartDate' => array(), | |
| 653 | + '_EventStartDateUTC' => array(), | |
| 654 | + '_EventTimezone' => array(), | |
| 655 | + '_EventTimezoneAbbr' => array(), | |
| 656 | + '_EventURL' => array(), | |
| 657 | + '_EventVenueID' => array(), | |
| 658 | + '_OrganizerEmail' => array(), | |
| 659 | + '_OrganizerOrganizer' => array(), | |
| 660 | + '_OrganizerOrigin' => array(), | |
| 661 | + '_OrganizerPhone' => array(), | |
| 662 | + '_OrganizerWebsite' => array(), | |
| 663 | + '_VenueAddress' => array(), | |
| 664 | + '_VenueCity' => array(), | |
| 665 | + '_VenueCountry' => array(), | |
| 666 | + '_VenueOrigin' => array(), | |
| 667 | + '_VenuePhone' => array(), | |
| 668 | + '_VenueProvince' => array(), | |
| 669 | + '_VenueShowMap' => array(), | |
| 670 | + '_VenueShowMapLink' => array(), | |
| 671 | + '_VenueState' => array(), | |
| 672 | + '_VenueStateProvince' => array(), | |
| 673 | + '_VenueURL' => array(), | |
| 674 | + '_VenueVenue' => array(), | |
| 675 | + '_VenueVenueID' => array(), | |
| 676 | + '_VenueZip' => array(), | |
| 677 | + '_description' => array(), | |
| 678 | + '_edit_last' => array(), | |
| 679 | + '_feedback_all_fields' => array(), | |
| 680 | + '_feedback_author' => array(), | |
| 681 | + '_feedback_author_email' => array(), | |
| 682 | + '_feedback_author_url' => array(), | |
| 683 | + '_feedback_contact_form_url' => array(), | |
| 684 | + '_feedback_ip' => array(), | |
| 685 | + '_feedback_subject' => array(), | |
| 686 | + '_layout' => array(), | |
| 687 | + '_links_to' => array(), | |
| 688 | + '_links_to_target' => array(), | |
| 689 | + '_mail' => array(), | |
| 690 | + '_mail_2' => array(), | |
| 691 | + '_messages' => array(), | |
| 692 | + '_numero' => array(), | |
| 693 | + '_post_restored_from' => array(), | |
| 694 | + '_video_url' => array(), | |
| 695 | + '_website' => array(), | |
| 696 | + | |
| 697 | + ); // end unindexed post meta. | |
| 698 | + | |
| 699 | + /** | |
| 700 | + * List of indexed taxonomy slugs - VARCHAR(32) | |
| 701 | + * | |
| 702 | + * @access private | |
| 703 | + * @static | |
| 704 | + * | |
| 705 | + * @var array | |
| 706 | + */ | |
| 707 | + private static $taxonomies_to_sync = array( | |
| 708 | + | |
| 709 | + // Core. | |
| 710 | + 'link_category', | |
| 711 | + 'nav_menu', | |
| 712 | + 'post_format', // Special, limited to certain values. | |
| 713 | + | |
| 714 | + // bbpress. | |
| 715 | + 'topic', | |
| 716 | + 'topic-tag', | |
| 717 | + 'topics', | |
| 718 | + | |
| 719 | + // buddypress. | |
| 720 | + 'bp-email-type', | |
| 721 | + 'bp-email-type', | |
| 722 | + 'bp_docs_access', | |
| 723 | + 'bp_docs_associated_item', | |
| 724 | + 'bp_docs_comment_access', | |
| 725 | + 'bp_docs_doc_in_folder', | |
| 726 | + 'bp_docs_folder_in_group', | |
| 727 | + 'bp_docs_tag', | |
| 728 | + 'bp_member_type', | |
| 729 | + | |
| 730 | + // co-authors plus. | |
| 731 | + 'author', | |
| 732 | + | |
| 733 | + // events calendar plus. | |
| 734 | + // the events calendar. | |
| 735 | + 'event-categories', | |
| 736 | + 'event-category', | |
| 737 | + 'event-tag', | |
| 738 | + 'event-tags', | |
| 739 | + 'event-type', | |
| 740 | + 'event-venue', | |
| 741 | + 'event_category', | |
| 742 | + 'event_location', | |
| 743 | + 'event_organizer', | |
| 744 | + 'event_tag', | |
| 745 | + 'event_type', | |
| 746 | + 'event_type_2', | |
| 747 | + 'event_users', | |
| 748 | + 'events_categories', | |
| 749 | + 'events_category', | |
| 750 | + 'events_feeds', | |
| 751 | + 'events_tags', | |
| 752 | + 'tribe_events_cat', | |
| 753 | + | |
| 754 | + // jetpack. | |
| 755 | + 'jetpack-portfolio-tag', | |
| 756 | + 'jetpack-portfolio-type', | |
| 757 | + 'jetpack-search-tag0', | |
| 758 | + 'jetpack-search-tag1', | |
| 759 | + 'jetpack-search-tag2', | |
| 760 | + 'jetpack-search-tag3', | |
| 761 | + 'jetpack-search-tag4', | |
| 762 | + 'jetpack-search-tag5', | |
| 763 | + 'jetpack-search-tag6', | |
| 764 | + 'jetpack-search-tag7', | |
| 765 | + 'jetpack-search-tag8', | |
| 766 | + 'jetpack-search-tag9', | |
| 767 | + | |
| 768 | + // nextgen gallery. | |
| 769 | + 'ngg_tag', | |
| 770 | + | |
| 771 | + // polylang. | |
| 772 | + // wpml. | |
| 773 | + 'language', | |
| 774 | + 'post_translations', | |
| 775 | + 'term_language', | |
| 776 | + 'term_translations', | |
| 777 | + 'translation_priority', | |
| 778 | + | |
| 779 | + // woocommerce. | |
| 780 | + 'documentation_category', | |
| 781 | + 'pa_accessory-type', | |
| 782 | + 'pa_actor', | |
| 783 | + 'pa_age', | |
| 784 | + 'pa_ambulance', | |
| 785 | + 'pa_amount', | |
| 786 | + 'pa_arm-roll', | |
| 787 | + 'pa_aspectratio', | |
| 788 | + 'pa_audiencerating', | |
| 789 | + 'pa_author', | |
| 790 | + 'pa_axle', | |
| 791 | + 'pa_battery', | |
| 792 | + 'pa_belakang', | |
| 793 | + 'pa_binding', | |
| 794 | + 'pa_body-type', | |
| 795 | + 'pa_bore-x-stroke-mm', | |
| 796 | + 'pa_box-cargo', | |
| 797 | + 'pa_brakes', | |
| 798 | + 'pa_brand', | |
| 799 | + 'pa_brands', | |
| 800 | + 'pa_bus', | |
| 801 | + 'pa_c', | |
| 802 | + 'pa_cabin-to-end', | |
| 803 | + 'pa_capacity', | |
| 804 | + 'pa_catalognumberlist', | |
| 805 | + 'pa_ce-keurmerk', | |
| 806 | + 'pa_chassis-front', | |
| 807 | + 'pa_chassis-rear', | |
| 808 | + 'pa_chassis-weight-kg', | |
| 809 | + 'pa_chip-log', | |
| 810 | + 'pa_clothing-size', | |
| 811 | + 'pa_clutch', | |
| 812 | + 'pa_clutch-type', | |
| 813 | + 'pa_collection', | |
| 814 | + 'pa_color', | |
| 815 | + 'pa_colors', | |
| 816 | + 'pa_colour', | |
| 817 | + 'pa_compactor', | |
| 818 | + 'pa_condition', | |
| 819 | + 'pa_conditions-options', | |
| 820 | + 'pa_cor', | |
| 821 | + 'pa_couleur', | |
| 822 | + 'pa_country', | |
| 823 | + 'pa_countryregion-of-manufacture', | |
| 824 | + 'pa_crane', | |
| 825 | + 'pa_creator', | |
| 826 | + 'pa_culoare', | |
| 827 | + 'pa_customerpackagetype', | |
| 828 | + 'pa_depan', | |
| 829 | + 'pa_depan-belakang', | |
| 830 | + 'pa_department', | |
| 831 | + 'pa_design', | |
| 832 | + 'pa_diameter', | |
| 833 | + 'pa_diameter-cakram', | |
| 834 | + 'pa_dimension-mm', | |
| 835 | + 'pa_dimensions', | |
| 836 | + 'pa_director', | |
| 837 | + 'pa_disc-diameter', | |
| 838 | + 'pa_drive-system', | |
| 839 | + 'pa_dump', | |
| 840 | + 'pa_ean', | |
| 841 | + 'pa_eanlist', | |
| 842 | + 'pa_edition', | |
| 843 | + 'pa_electric-battery', | |
| 844 | + 'pa_engine-model', | |
| 845 | + 'pa_engine-size', | |
| 846 | + 'pa_ethnicity', | |
| 847 | + 'pa_exhaust-brake', | |
| 848 | + 'pa_fabric', | |
| 849 | + 'pa_farbe', | |
| 850 | + 'pa_farg', | |
| 851 | + 'pa_farge', | |
| 852 | + 'pa_features', | |
| 853 | + 'pa_final-gear-ratio', | |
| 854 | + 'pa_finish', | |
| 855 | + 'pa_fire-fighting', | |
| 856 | + 'pa_fits', | |
| 857 | + 'pa_flat-bed', | |
| 858 | + 'pa_flavour', | |
| 859 | + 'pa_format', | |
| 860 | + 'pa_fragrance', | |
| 861 | + 'pa_frame', | |
| 862 | + 'pa_front', | |
| 863 | + 'pa_front-overhang', | |
| 864 | + 'pa_front-rear', | |
| 865 | + 'pa_front-tread', | |
| 866 | + 'pa_fuel-tank', | |
| 867 | + 'pa_fuel-type', | |
| 868 | + 'pa_garantie', | |
| 869 | + 'pa_geadviseerd-accu-type', | |
| 870 | + 'pa_gear-ratio', | |
| 871 | + 'pa_gender', | |
| 872 | + 'pa_genre', | |
| 873 | + 'pa_gewicht-exclusief-accu', | |
| 874 | + 'pa_gift-card-amount', | |
| 875 | + 'pa_grade-ability-tan-o', | |
| 876 | + 'pa_groesse', | |
| 877 | + 'pa_gtin', | |
| 878 | + 'pa_gvwr-gcwr', | |
| 879 | + 'pa_hardwareplatform', | |
| 880 | + 'pa_hazardousmaterialtype', | |
| 881 | + 'pa_height', | |
| 882 | + 'pa_hekmotor-of-boegmotor', | |
| 883 | + 'pa_helmet-size', | |
| 884 | + 'pa_hersteller', | |
| 885 | + 'pa_high-blow-tank', | |
| 886 | + 'pa_hoehe', | |
| 887 | + 'pa_inhoud', | |
| 888 | + 'pa_interchange-part-number', | |
| 889 | + 'pa_isadultproduct', | |
| 890 | + 'pa_isbn', | |
| 891 | + 'pa_iseligiblefortradein', | |
| 892 | + 'pa_itemdimensions', | |
| 893 | + 'pa_itempartnumber', | |
| 894 | + 'pa_kemudi-tipe', | |
| 895 | + 'pa_kleur', | |
| 896 | + 'pa_kopling-tipe', | |
| 897 | + 'pa_label', | |
| 898 | + 'pa_languages', | |
| 899 | + 'pa_lbs', | |
| 900 | + 'pa_legaldisclaimer', | |
| 901 | + 'pa_lengte-aansluitkabel', | |
| 902 | + 'pa_length', | |
| 903 | + 'pa_liquid-tank', | |
| 904 | + 'pa_location', | |
| 905 | + 'pa_losse-motor-complete-set', | |
| 906 | + 'pa_maat', | |
| 907 | + 'pa_main-brake', | |
| 908 | + 'pa_make', | |
| 909 | + 'pa_manufacturer', | |
| 910 | + 'pa_manufacturer-part-number', | |
| 911 | + 'pa_manufacturermaximumage', | |
| 912 | + 'pa_manufacturerminimumage', | |
| 913 | + 'pa_manufacturerpartswarrantydesc', | |
| 914 | + 'pa_masseinheit', | |
| 915 | + 'pa_material', | |
| 916 | + 'pa_mau-sac', | |
| 917 | + 'pa_maximum-power-ps-rpm', | |
| 918 | + 'pa_maximum-speed', | |
| 919 | + 'pa_maximum-torque-kgm-rpm', | |
| 920 | + 'pa_mediatype', | |
| 921 | + 'pa_megethos', | |
| 922 | + 'pa_merk', | |
| 923 | + 'pa_metal-type', | |
| 924 | + 'pa_min-turning-circle', | |
| 925 | + 'pa_mixer', | |
| 926 | + 'pa_model', | |
| 927 | + 'pa_model-tipe', | |
| 928 | + 'pa_model-type', | |
| 929 | + 'pa_modelo', | |
| 930 | + 'pa_mount', | |
| 931 | + 'pa_mpn', | |
| 932 | + 'pa_nicotine-strength', | |
| 933 | + 'pa_nos-of-cylinder', | |
| 934 | + 'pa_nos-of-tire', | |
| 935 | + 'pa_numberofdiscs', | |
| 936 | + 'pa_numberofitems', | |
| 937 | + 'pa_numberofpages', | |
| 938 | + 'pa_offset', | |
| 939 | + 'pa_open-cargo', | |
| 940 | + 'pa_operatingsystem', | |
| 941 | + 'pa_options', | |
| 942 | + 'pa_other-part-number', | |
| 943 | + 'pa_overall-height', | |
| 944 | + 'pa_overall-length', | |
| 945 | + 'pa_overall-width', | |
| 946 | + 'pa_overview', | |
| 947 | + 'pa_packagedimensions', | |
| 948 | + 'pa_packagequantity', | |
| 949 | + 'pa_pages', | |
| 950 | + 'pa_parking-brake', | |
| 951 | + 'pa_part-number', | |
| 952 | + 'pa_partnumber', | |
| 953 | + 'pa_pattern', | |
| 954 | + 'pa_pattern2', | |
| 955 | + 'pa_performa', | |
| 956 | + 'pa_pictureformat', | |
| 957 | + 'pa_pin-size', | |
| 958 | + 'pa_piston-displacement-cc', | |
| 959 | + 'pa_ploshhad', | |
| 960 | + 'pa_plug-type', | |
| 961 | + 'pa_power', | |
| 962 | + 'pa_product', | |
| 963 | + 'pa_productgroup', | |
| 964 | + 'pa_producttypename', | |
| 965 | + 'pa_publicationdate', | |
| 966 | + 'pa_publisher', | |
| 967 | + 'pa_quantity', | |
| 968 | + 'pa_rear', | |
| 969 | + 'pa_rear-overhang', | |
| 970 | + 'pa_rear-tread', | |
| 971 | + 'pa_refrigerated-box', | |
| 972 | + 'pa_region', | |
| 973 | + 'pa_regioncode', | |
| 974 | + 'pa_releasedate', | |
| 975 | + 'pa_rem-parkir', | |
| 976 | + 'pa_rem-pelambat', | |
| 977 | + 'pa_rem-utama', | |
| 978 | + 'pa_reverse', | |
| 979 | + 'pa_runningtime', | |
| 980 | + 'pa_scent', | |
| 981 | + 'pa_schachtlengte', | |
| 982 | + 'pa_seeds', | |
| 983 | + 'pa_series', | |
| 984 | + 'pa_setting', | |
| 985 | + 'pa_sex', | |
| 986 | + 'pa_shape', | |
| 987 | + 'pa_shirt-size', | |
| 988 | + 'pa_size', | |
| 989 | + 'pa_sizes', | |
| 990 | + 'pa_sku', | |
| 991 | + 'pa_sky-lift', | |
| 992 | + 'pa_sleeve-length', | |
| 993 | + 'pa_snelheidsregeling', | |
| 994 | + 'pa_staart', | |
| 995 | + 'pa_steering', | |
| 996 | + 'pa_steering-type', | |
| 997 | + 'pa_storlek', | |
| 998 | + 'pa_studio', | |
| 999 | + 'pa_stuwkracht-lbs', | |
| 1000 | + 'pa_style', | |
| 1001 | + 'pa_suspensions', | |
| 1002 | + 'pa_taille', | |
| 1003 | + 'pa_talla', | |
| 1004 | + 'pa_tamanho', | |
| 1005 | + 'pa_tamano', | |
| 1006 | + 'pa_taxi', | |
| 1007 | + 'pa_ticket-type', | |
| 1008 | + 'pa_tire-size', | |
| 1009 | + 'pa_total-chassis-weight', | |
| 1010 | + 'pa_towing-truck', | |
| 1011 | + 'pa_tradeinvalue', | |
| 1012 | + 'pa_trailer-t-head', | |
| 1013 | + 'pa_transmisi-tipe', | |
| 1014 | + 'pa_transmission', | |
| 1015 | + 'pa_transmission-type', | |
| 1016 | + 'pa_types', | |
| 1017 | + 'pa_ukuran', | |
| 1018 | + 'pa_upc', | |
| 1019 | + 'pa_upclist', | |
| 1020 | + 'pa_variation', | |
| 1021 | + 'pa_vehicle-carrier', | |
| 1022 | + 'pa_vergelijkbaar-stuwkracht', | |
| 1023 | + 'pa_vermogen', | |
| 1024 | + 'pa_voltage', | |
| 1025 | + 'pa_volume', | |
| 1026 | + 'pa_warranty', | |
| 1027 | + 'pa_weight', | |
| 1028 | + 'pa_wheel-base', | |
| 1029 | + 'pa_wheel-configuration', | |
| 1030 | + 'pa_wheel-disc-size', | |
| 1031 | + 'pa_width', | |
| 1032 | + 'pa_zout-water-geschikt', | |
| 1033 | + 'product', | |
| 1034 | + 'product-brand', | |
| 1035 | + 'product_brand', | |
| 1036 | + 'product-category', | |
| 1037 | + 'product_cat', | |
| 1038 | + 'product_delivery_time', | |
| 1039 | + 'product_delivery_times', | |
| 1040 | + 'product_price_label', | |
| 1041 | + 'product_sale_labels', | |
| 1042 | + 'product_shipping_class', | |
| 1043 | + 'product_tag', | |
| 1044 | + 'product_type', | |
| 1045 | + 'product_unit', | |
| 1046 | + 'product_visibility', | |
| 1047 | + 'products', | |
| 1048 | + | |
| 1049 | + // wp-job-manager. | |
| 1050 | + 'job-category', | |
| 1051 | + 'job-location', | |
| 1052 | + 'job-type', | |
| 1053 | + 'job_cat', | |
| 1054 | + 'job_category', | |
| 1055 | + 'job_listing_category', | |
| 1056 | + 'job_listing_label', | |
| 1057 | + 'job_listing_region', | |
| 1058 | + 'job_listing_tag', | |
| 1059 | + 'job_listing_type', | |
| 1060 | + 'job_salary', | |
| 1061 | + 'job_tag', | |
| 1062 | + 'job_type', | |
| 1063 | + 'jobman_category', | |
| 1064 | + 'jobpost_category', | |
| 1065 | + 'jobpost_job_type', | |
| 1066 | + 'jobpost_location', | |
| 1067 | + 'resume_category', | |
| 1068 | + 'resume_groups', | |
| 1069 | + 'resume_job_type', | |
| 1070 | + 'resume_job_type', | |
| 1071 | + 'resume_languages', | |
| 1072 | + 'resume_region', | |
| 1073 | + 'resume_skill', | |
| 1074 | + 'resume_specialities', | |
| 1075 | + | |
| 1076 | + // generic. | |
| 1077 | + '_resource', | |
| 1078 | + 'acadp_categories', | |
| 1079 | + 'acadp_locations', | |
| 1080 | + 'action-group', | |
| 1081 | + 'activity', | |
| 1082 | + 'actor', | |
| 1083 | + 'actors', | |
| 1084 | + 'ad-group', | |
| 1085 | + 'adace-ad-group', | |
| 1086 | + 'adace-sponsor', | |
| 1087 | + 'additional_features', | |
| 1088 | + 'adv_location', | |
| 1089 | + 'advanced_ads_groups', | |
| 1090 | + 'advert_category', | |
| 1091 | + 'affcoups_coupon_category', | |
| 1092 | + 'affcoups_coupon_type', | |
| 1093 | + 'ai_log_context', | |
| 1094 | + 'ai_log_level', | |
| 1095 | + 'al_product-cat', | |
| 1096 | + 'aol_ad_category', | |
| 1097 | + 'aol_ad_location', | |
| 1098 | + 'aol_ad_type', | |
| 1099 | + 'aol_application_status', | |
| 1100 | + 'area', | |
| 1101 | + 'article-slug', | |
| 1102 | + 'asgarosforum-category', | |
| 1103 | + 'asgarosforum-usergroup', | |
| 1104 | + 'attachment_category', | |
| 1105 | + 'attachment_tag', | |
| 1106 | + 'atum_location', | |
| 1107 | + 'audience_type', | |
| 1108 | + 'avhec_catgroup', | |
| 1109 | + 'bartype', | |
| 1110 | + 'baths', | |
| 1111 | + 'beds', | |
| 1112 | + 'bepro_listing_types', | |
| 1113 | + 'blog_category', | |
| 1114 | + 'booked_custom_calendars', | |
| 1115 | + 'brand', | |
| 1116 | + 'brands', | |
| 1117 | + 'business', | |
| 1118 | + 'business_cat', | |
| 1119 | + 'business_category', | |
| 1120 | + 'bwg_tag', | |
| 1121 | + 'byline', | |
| 1122 | + 'calendar_category', | |
| 1123 | + 'calendar_feed', | |
| 1124 | + 'calendar_type', | |
| 1125 | + 'campaign_category', | |
| 1126 | + 'campaign_tag', | |
| 1127 | + 'carousel_cat', | |
| 1128 | + 'carousels_category', | |
| 1129 | + 'case27_job_listing_tags', | |
| 1130 | + 'categories', | |
| 1131 | + 'category_media', | |
| 1132 | + 'category_portfolio', | |
| 1133 | + 'celebrity_cat', | |
| 1134 | + 'chapters', | |
| 1135 | + 'chronosly_category', | |
| 1136 | + 'city', | |
| 1137 | + 'classified_listing_type', | |
| 1138 | + 'client-types', | |
| 1139 | + 'clients_groups', | |
| 1140 | + 'cm-business-category', | |
| 1141 | + 'cmdm_category', | |
| 1142 | + 'cn_log_type', | |
| 1143 | + 'coderevolution_post_source', | |
| 1144 | + 'collection', | |
| 1145 | + 'community', | |
| 1146 | + 'companies', | |
| 1147 | + 'company', | |
| 1148 | + 'cont_category', | |
| 1149 | + 'content_audit', | |
| 1150 | + 'country', | |
| 1151 | + 'course', | |
| 1152 | + 'course-cat', | |
| 1153 | + 'course-category', | |
| 1154 | + 'course_cat', | |
| 1155 | + 'course_category', | |
| 1156 | + 'course_difficulty', | |
| 1157 | + 'course_tag', | |
| 1158 | + 'courses_type', | |
| 1159 | + 'cp_campaign', | |
| 1160 | + 'cp_recipe_category', | |
| 1161 | + 'csco_post_featured', | |
| 1162 | + 'ct_status', | |
| 1163 | + 'ctl-stories', | |
| 1164 | + 'cuisine', | |
| 1165 | + 'dc_vendor_shop', | |
| 1166 | + 'ddownload_category', | |
| 1167 | + 'ddownload_tag', | |
| 1168 | + 'dealstore', | |
| 1169 | + 'department', | |
| 1170 | + 'departments', | |
| 1171 | + 'department-company', | |
| 1172 | + 'developed-by', | |
| 1173 | + 'dfads_group', | |
| 1174 | + 'dgfw_gift_categories', | |
| 1175 | + 'director', | |
| 1176 | + 'district', | |
| 1177 | + 'dlm_download_category', | |
| 1178 | + 'dlm_download_tag', | |
| 1179 | + 'doc_tag', | |
| 1180 | + 'document-category', | |
| 1181 | + 'document-type', | |
| 1182 | + 'download_artist', | |
| 1183 | + 'download_category', | |
| 1184 | + 'download_tag', | |
| 1185 | + 'downloads_filter', | |
| 1186 | + 'dps_book', | |
| 1187 | + 'dt_gallery_category', | |
| 1188 | + 'dt_logos_category', | |
| 1189 | + 'dt_portfolio_category', | |
| 1190 | + 'dt_team_category', | |
| 1191 | + 'dt_testimonials_category', | |
| 1192 | + 'dtcast', | |
| 1193 | + 'dtcreator', | |
| 1194 | + 'dtdirector', | |
| 1195 | + 'dtnetworks', | |
| 1196 | + 'dtstudio', | |
| 1197 | + 'dtyear', | |
| 1198 | + 'dvteamtaxonomy', | |
| 1199 | + 'dwqa-question_category', | |
| 1200 | + 'dwqa-question_tag', | |
| 1201 | + 'eafl_category', | |
| 1202 | + 'easy-testimonial-category', | |
| 1203 | + 'ecwd_event_category', | |
| 1204 | + 'edd_log_type', | |
| 1205 | + 'edition', | |
| 1206 | + 'ef_editorial_meta', | |
| 1207 | + 'ef_usergroup', | |
| 1208 | + 'element_category', | |
| 1209 | + 'elementor_library_type', | |
| 1210 | + 'employees_category', | |
| 1211 | + 'encyclopedia-tag', | |
| 1212 | + 'envira-tag', | |
| 1213 | + 'epkb_post_type_1_category', | |
| 1214 | + 'espresso_event_categories', | |
| 1215 | + 'espresso_event_type', | |
| 1216 | + 'essential_grid_category', | |
| 1217 | + 'et_post_format', | |
| 1218 | + 'faq-group', | |
| 1219 | + 'faq-tags', | |
| 1220 | + 'faq-topic', | |
| 1221 | + 'faq_cat', | |
| 1222 | + 'faq_categories', | |
| 1223 | + 'faq_category', | |
| 1224 | + 'faqs-category', | |
| 1225 | + 'fdm-menu-section', | |
| 1226 | + 'feature', | |
| 1227 | + 'featured_item_category', | |
| 1228 | + 'featured_item_tag', | |
| 1229 | + 'feedback_type', | |
| 1230 | + 'feeds', | |
| 1231 | + 'fl-builder-template-type', | |
| 1232 | + 'flamingo_inbound_channel', | |
| 1233 | + 'follow_up_email_campaign', | |
| 1234 | + 'follow_up_email_type', | |
| 1235 | + 'following_users', | |
| 1236 | + 'football-team-taxo', | |
| 1237 | + 'fpd_design_category', | |
| 1238 | + 'gallery-category', | |
| 1239 | + 'gallery_cat', | |
| 1240 | + 'gallery_categories', | |
| 1241 | + 'gallery_category', | |
| 1242 | + 'gallery_entries', | |
| 1243 | + 'gallerycat', | |
| 1244 | + 'gd_event_tags', | |
| 1245 | + 'gd_eventcategory', | |
| 1246 | + 'gd_place_tags', | |
| 1247 | + 'gd_placecategory', | |
| 1248 | + 'genre', | |
| 1249 | + 'genres', | |
| 1250 | + 'gg_connect_hub', | |
| 1251 | + 'give_log_type', | |
| 1252 | + 'gn-genre', | |
| 1253 | + 'gn-location-1', | |
| 1254 | + 'gn-location-2', | |
| 1255 | + 'gn-location-3', | |
| 1256 | + 'gp_hubs', | |
| 1257 | + 'gp_portfolios', | |
| 1258 | + 'gp_videos', | |
| 1259 | + 'group', | |
| 1260 | + 'group-documents-category', | |
| 1261 | + 'groups', | |
| 1262 | + 'guest', | |
| 1263 | + 'hashtags', | |
| 1264 | + 'hotel_facility', | |
| 1265 | + 'ia_invited_groups', | |
| 1266 | + 'ia_invitees', | |
| 1267 | + 'incsub_wiki_category', | |
| 1268 | + 'industry', | |
| 1269 | + 'ingredient', | |
| 1270 | + 'insight-type', | |
| 1271 | + 'issue', | |
| 1272 | + 'issuem_issue', | |
| 1273 | + 'issuem_issue_tags', | |
| 1274 | + 'jbp_category', | |
| 1275 | + 'karma-slider-category', | |
| 1276 | + 'klaviyo_shop_cart_status', | |
| 1277 | + 'kwlogos-carousel', | |
| 1278 | + 'layout_category', | |
| 1279 | + 'layout_type', | |
| 1280 | + 'ld_course_category', | |
| 1281 | + 'ld_course_tag', | |
| 1282 | + 'ld_lesson_category', | |
| 1283 | + 'ld_lesson_tag', | |
| 1284 | + 'ld_topic_tag', | |
| 1285 | + 'lesson-tag', | |
| 1286 | + 'level', | |
| 1287 | + 'lingotek_hash', | |
| 1288 | + 'lingotek_profile', | |
| 1289 | + 'link_library_category', | |
| 1290 | + 'linkage', | |
| 1291 | + 'list-tags', | |
| 1292 | + 'listing-category', | |
| 1293 | + 'listing_amenities', | |
| 1294 | + 'listing_category', | |
| 1295 | + 'liveblog', | |
| 1296 | + 'llms_access_plan_visibility', | |
| 1297 | + 'llms_product_visibility', | |
| 1298 | + 'localisation', | |
| 1299 | + 'location', | |
| 1300 | + 'location-tag', | |
| 1301 | + 'locations', | |
| 1302 | + 'magazine', | |
| 1303 | + 'map_location_categories', | |
| 1304 | + 'masonry_gallery_category', | |
| 1305 | + 'mc-event-category', | |
| 1306 | + 'mec_category', | |
| 1307 | + 'mec_location', | |
| 1308 | + 'mec_organizer', | |
| 1309 | + 'media-category', | |
| 1310 | + 'media-tags', | |
| 1311 | + 'media_category', | |
| 1312 | + 'media_folder', | |
| 1313 | + 'member_cat', | |
| 1314 | + 'mentions', | |
| 1315 | + 'mesh_template_types', | |
| 1316 | + 'ml-slider', | |
| 1317 | + 'module', | |
| 1318 | + 'module-tag', | |
| 1319 | + 'module_width', | |
| 1320 | + 'movie_cat', | |
| 1321 | + 'mpp-component', | |
| 1322 | + 'mpp-status', | |
| 1323 | + 'mpp-type', | |
| 1324 | + 'muvicast', | |
| 1325 | + 'muvicountry', | |
| 1326 | + 'muvidirector', | |
| 1327 | + 'muviindex', | |
| 1328 | + 'muviquality', | |
| 1329 | + 'muviyear', | |
| 1330 | + 'news-category', | |
| 1331 | + 'news-tag', | |
| 1332 | + 'news-type', | |
| 1333 | + 'news_type_cat', | |
| 1334 | + 'news_category', | |
| 1335 | + 'nova_menu', | |
| 1336 | + 'nova_menu_item_label', | |
| 1337 | + 'offer-types', | |
| 1338 | + 'organization', | |
| 1339 | + 'our_team_category', | |
| 1340 | + 'page_category', | |
| 1341 | + 'page_condition', | |
| 1342 | + 'parisrestaurant', | |
| 1343 | + 'parissauna', | |
| 1344 | + 'partner_category', | |
| 1345 | + 'partners', | |
| 1346 | + 'paswdestinatari', | |
| 1347 | + 'paypal_ipn_type', | |
| 1348 | + 'pdf_lv_tag', | |
| 1349 | + 'pec_events_category', | |
| 1350 | + 'people', | |
| 1351 | + 'people-department', | |
| 1352 | + 'people-expertise', | |
| 1353 | + 'people-location', | |
| 1354 | + 'perfect_quotes_category', | |
| 1355 | + 'performer', | |
| 1356 | + 'person', | |
| 1357 | + 'personnal-category', | |
| 1358 | + 'pexcontentslider_category', | |
| 1359 | + 'pexfullslider_category', | |
| 1360 | + 'pexnivoslider_category', | |
| 1361 | + 'pexpricing_category', | |
| 1362 | + 'pexservice_category', | |
| 1363 | + 'pextestimonial_category', | |
| 1364 | + 'pf_feed_item_tag', | |
| 1365 | + 'pg_sas_type', | |
| 1366 | + 'photo_tag', | |
| 1367 | + 'phototype', | |
| 1368 | + 'pj-categs', | |
| 1369 | + 'pj-tags', | |
| 1370 | + 'pl-categs', | |
| 1371 | + 'placement', | |
| 1372 | + 'plan_status', | |
| 1373 | + 'platform', | |
| 1374 | + 'player', | |
| 1375 | + 'plugins_categories', | |
| 1376 | + 'podcast', | |
| 1377 | + 'pojo_sidebars', | |
| 1378 | + 'popup_category', | |
| 1379 | + 'pornstars', | |
| 1380 | + 'portada', | |
| 1381 | + 'portcat', | |
| 1382 | + 'portfolio-category', | |
| 1383 | + 'portfolio-gallery', | |
| 1384 | + 'portfolio-status', | |
| 1385 | + 'portfolio-skills', | |
| 1386 | + 'portfolio-tag', | |
| 1387 | + 'portfolio-tags', | |
| 1388 | + 'portfolio-type', | |
| 1389 | + 'portfolio-types', | |
| 1390 | + 'portfolio_cat', | |
| 1391 | + 'portfolio_categories', | |
| 1392 | + 'portfolio_category', | |
| 1393 | + 'portfolio_cats', | |
| 1394 | + 'portfolio_client', | |
| 1395 | + 'portfolio_entries', | |
| 1396 | + 'portfolio_filter', | |
| 1397 | + 'portfolio_in', | |
| 1398 | + 'portfolio_label', | |
| 1399 | + 'portfolio_skills', | |
| 1400 | + 'portfolio_tag', | |
| 1401 | + 'portfolio_tags', | |
| 1402 | + 'portfolio_type', | |
| 1403 | + 'posicao', | |
| 1404 | + 'post-type', | |
| 1405 | + 'post_format', | |
| 1406 | + 'post_series', | |
| 1407 | + 'pp_editorial_meta', | |
| 1408 | + 'pp_notify_role', | |
| 1409 | + 'pp_usergroup', | |
| 1410 | + 'pricingcats', | |
| 1411 | + 'print_section', | |
| 1412 | + 'print_status', | |
| 1413 | + 'product_asset_class', | |
| 1414 | + 'product_name', | |
| 1415 | + 'programs', | |
| 1416 | + 'project-attributes', | |
| 1417 | + 'project-cat', | |
| 1418 | + 'project-category', | |
| 1419 | + 'project-type', | |
| 1420 | + 'project_category', | |
| 1421 | + 'project_collection', | |
| 1422 | + 'project_tag', | |
| 1423 | + 'projects_category', | |
| 1424 | + 'projects_tag', | |
| 1425 | + 'prominence', | |
| 1426 | + 'promotion-categories', | |
| 1427 | + 'property-city', | |
| 1428 | + 'property-feature', | |
| 1429 | + 'property-status', | |
| 1430 | + 'property-type', | |
| 1431 | + 'property-types', | |
| 1432 | + 'property_action_category', | |
| 1433 | + 'property_area', | |
| 1434 | + 'property_category', | |
| 1435 | + 'property_city', | |
| 1436 | + 'property_feature', | |
| 1437 | + 'property_status', | |
| 1438 | + 'property_type', | |
| 1439 | + 'province', | |
| 1440 | + 'provinces', | |
| 1441 | + 'publisher', | |
| 1442 | + 'pwb-brand', | |
| 1443 | + 'qmn_log_type', | |
| 1444 | + 'qualification', | |
| 1445 | + 'qualifications', | |
| 1446 | + 'quality', | |
| 1447 | + 'question-category', | |
| 1448 | + 'question-tag', | |
| 1449 | + 'question-type', | |
| 1450 | + 'question_cat', | |
| 1451 | + 'question_category', | |
| 1452 | + 'question_tag', | |
| 1453 | + 'quiz', | |
| 1454 | + 'quiz-type', | |
| 1455 | + 'quote_status', | |
| 1456 | + 'rating', | |
| 1457 | + 'reaction', | |
| 1458 | + 'recipe-category', | |
| 1459 | + 'recipe_category', | |
| 1460 | + 'recipe_type', | |
| 1461 | + 'region', | |
| 1462 | + 'registrant-event', | |
| 1463 | + 'related_keywords', | |
| 1464 | + 'release-date', | |
| 1465 | + 'resource-type', | |
| 1466 | + 'resource_category', | |
| 1467 | + 'resource_type', | |
| 1468 | + 'resourcetype', | |
| 1469 | + 'review-type', | |
| 1470 | + 'review_category', | |
| 1471 | + 'rodzaj', | |
| 1472 | + 'role', | |
| 1473 | + 'room_category', | |
| 1474 | + 'room_tag', | |
| 1475 | + 'roomtype', | |
| 1476 | + 'rubriek_categorie', | |
| 1477 | + 'savedreply', | |
| 1478 | + 'schools', | |
| 1479 | + 'scope', | |
| 1480 | + 'scores_cat', | |
| 1481 | + 'sdm_categories', | |
| 1482 | + 'sdm_tags', | |
| 1483 | + 'season', | |
| 1484 | + 'secondary_html_features', | |
| 1485 | + 'section', | |
| 1486 | + 'sector', | |
| 1487 | + 'series', | |
| 1488 | + 'series_of_posts', | |
| 1489 | + 'services_group', | |
| 1490 | + 'serving', | |
| 1491 | + 'shop_cart_status', | |
| 1492 | + 'shop_cat', | |
| 1493 | + 'shop_order_status', | |
| 1494 | + 'shop_vendor', | |
| 1495 | + 'shop_warranty_status', | |
| 1496 | + 'shopp_category', | |
| 1497 | + 'shopr_category', | |
| 1498 | + 'show', | |
| 1499 | + 'simple_link_category', | |
| 1500 | + 'site-review-category', | |
| 1501 | + 'sizes', | |
| 1502 | + 'skill', | |
| 1503 | + 'skill_level', | |
| 1504 | + 'skills', | |
| 1505 | + 'sld_cat', | |
| 1506 | + 'slide-page', | |
| 1507 | + 'slide-types', | |
| 1508 | + 'slide_categories', | |
| 1509 | + 'slide_type', | |
| 1510 | + 'slider', | |
| 1511 | + 'slider-locations', | |
| 1512 | + 'slider_category', | |
| 1513 | + 'slides_category', | |
| 1514 | + 'slideshow', | |
| 1515 | + 'sm-category', | |
| 1516 | + 'snax_format', | |
| 1517 | + 'sngg_media_tags', | |
| 1518 | + 'solution_channel', | |
| 1519 | + 'source_domain', | |
| 1520 | + 'source_id', | |
| 1521 | + 'sp_league', | |
| 1522 | + 'sp_position', | |
| 1523 | + 'sp_role', | |
| 1524 | + 'sp_season', | |
| 1525 | + 'sp_venue', | |
| 1526 | + 'speaker', | |
| 1527 | + 'speakers', | |
| 1528 | + 'special-feature', | |
| 1529 | + 'specialty', | |
| 1530 | + 'spnl_log_type', | |
| 1531 | + 'sponsor_categories', | |
| 1532 | + 'sponsor_category', | |
| 1533 | + 'sponsor_type', | |
| 1534 | + 'spot_tag', | |
| 1535 | + 'st_af_category', | |
| 1536 | + 'st_af_tags', | |
| 1537 | + 'staff', | |
| 1538 | + 'staff-member-category', | |
| 1539 | + 'staff-member-group', | |
| 1540 | + 'staff_category', | |
| 1541 | + 'staffgroups', | |
| 1542 | + 'state', | |
| 1543 | + 'status', | |
| 1544 | + 'store', | |
| 1545 | + 'stores', | |
| 1546 | + 'studio', | |
| 1547 | + 'study_level', | |
| 1548 | + 'style', | |
| 1549 | + 'style_category', | |
| 1550 | + 'sub_transaction_action', | |
| 1551 | + 'sub_transaction_result', | |
| 1552 | + 'subcategory', | |
| 1553 | + 'subject', | |
| 1554 | + 'subscription_status', | |
| 1555 | + 'swift-slider-category', | |
| 1556 | + 'syn_sitegroup', | |
| 1557 | + 'szbl-content-tag', | |
| 1558 | + 'task-queue', | |
| 1559 | + 'tax_feature', | |
| 1560 | + 'tcb_symbols_tax', | |
| 1561 | + 'tcp_product_category', | |
| 1562 | + 'team', | |
| 1563 | + 'team-category', | |
| 1564 | + 'team_cat', | |
| 1565 | + 'team_categories', | |
| 1566 | + 'team_category', | |
| 1567 | + 'team_cats', | |
| 1568 | + 'team_department', | |
| 1569 | + 'team_designation', | |
| 1570 | + 'team_group', | |
| 1571 | + 'team_member_position', | |
| 1572 | + 'team_mfcategory', | |
| 1573 | + 'teams', | |
| 1574 | + 'tenant_categories', | |
| 1575 | + 'tenant_location', | |
| 1576 | + 'tender-category', | |
| 1577 | + 'test-type', | |
| 1578 | + 'testimonial-category', | |
| 1579 | + 'testimonial-group', | |
| 1580 | + 'testimonial-types', | |
| 1581 | + 'testimonial_categories', | |
| 1582 | + 'testimonial_category', | |
| 1583 | + 'testimonials-category', | |
| 1584 | + 'testimonials_category', | |
| 1585 | + 'th_events_cat', | |
| 1586 | + 'th_galleries_cat', | |
| 1587 | + 'thegem_clients_sets', | |
| 1588 | + 'thegem_news_sets', | |
| 1589 | + 'thegem_portfolios', | |
| 1590 | + 'thegem_quickfinders', | |
| 1591 | + 'thegem_teams', | |
| 1592 | + 'thegem_testimonials_sets', | |
| 1593 | + 'theme', | |
| 1594 | + 'themefusion_es_groups', | |
| 1595 | + 'themes_categories', | |
| 1596 | + 'themo_cpt_group', | |
| 1597 | + 'themo_project_type', | |
| 1598 | + 'themo_room_type', | |
| 1599 | + 'thirstylink-category', | |
| 1600 | + 'ticket_channel', | |
| 1601 | + 'ticket_priority', | |
| 1602 | + 'timeline_post_tag', | |
| 1603 | + 'tipo', | |
| 1604 | + 'tipologie', | |
| 1605 | + 'tips', | |
| 1606 | + 'tm-testimonials_category', | |
| 1607 | + 'tm_testimonial_group', | |
| 1608 | + 'tooltips_categories', | |
| 1609 | + 'tour_category', | |
| 1610 | + 'tour_destination', | |
| 1611 | + 'tour_facility', | |
| 1612 | + 'tour_phys', | |
| 1613 | + 'tour_type', | |
| 1614 | + 'tp_event_category', | |
| 1615 | + 'transmission', | |
| 1616 | + 'treatment-type', | |
| 1617 | + 'tribe_events_cat', | |
| 1618 | + 'truethemes-gallery-category', | |
| 1619 | + 'tsas-category', | |
| 1620 | + 'tshowcase-categories', | |
| 1621 | + 'tsml_region', | |
| 1622 | + 'ttshowcase_groups', | |
| 1623 | + 'tvo_tags', | |
| 1624 | + 'type', | |
| 1625 | + 'types', | |
| 1626 | + 'u_course_cat', | |
| 1627 | + 'u_department', | |
| 1628 | + 'u_event_cat', | |
| 1629 | + 'ufaq-category', | |
| 1630 | + 'ufaq-tag', | |
| 1631 | + 'um_hashtag', | |
| 1632 | + 'um_user_tag', | |
| 1633 | + 'uncodeblock_category', | |
| 1634 | + 'upg_cate', | |
| 1635 | + 'urp-review-category', | |
| 1636 | + 'us_portfolio_category', | |
| 1637 | + 'us_testimonial_category', | |
| 1638 | + 'user-group', | |
| 1639 | + 'user_category', | |
| 1640 | + 'user_status', | |
| 1641 | + 'vendor', | |
| 1642 | + 'venue', | |
| 1643 | + 'video-category', | |
| 1644 | + 'video-series', | |
| 1645 | + 'video-tag', | |
| 1646 | + 'video_category', | |
| 1647 | + 'video_tag', | |
| 1648 | + 'videos', | |
| 1649 | + 'videos_categories', | |
| 1650 | + 'voice_category', | |
| 1651 | + 'vtmin_rule_category', | |
| 1652 | + 'vtprd_rule_category', | |
| 1653 | + 'w2dc-category', | |
| 1654 | + 'w2dc-location', | |
| 1655 | + 'w2dc-tag', | |
| 1656 | + 'wcb_sponsor_level', | |
| 1657 | + 'wcb_track', | |
| 1658 | + 'wccf_checkout_field_field_type', | |
| 1659 | + 'wccf_checkout_field_status', | |
| 1660 | + 'wccf_order_field_field_type', | |
| 1661 | + 'wccf_order_field_status', | |
| 1662 | + 'wccf_product_field_field_type', | |
| 1663 | + 'wccf_product_field_status', | |
| 1664 | + 'wccf_product_prop_field_type', | |
| 1665 | + 'wccf_product_prop_status', | |
| 1666 | + 'wccf_user_field_field_type', | |
| 1667 | + 'wccf_user_field_status', | |
| 1668 | + 'wcfm_knowledgebase_category', | |
| 1669 | + 'wcm_task_category', | |
| 1670 | + 'wcpv_product_vendors', | |
| 1671 | + 'wcs-instructor', | |
| 1672 | + 'wcs-room', | |
| 1673 | + 'wcs-type', | |
| 1674 | + 'wdca_ad_categories', | |
| 1675 | + 'webinar_type_cat', | |
| 1676 | + 'where', | |
| 1677 | + 'who', | |
| 1678 | + 'wiki-category', | |
| 1679 | + 'wiki_cats', | |
| 1680 | + 'wl_entity_type', | |
| 1681 | + 'workout_entries', | |
| 1682 | + 'works-category', | |
| 1683 | + 'wp-rest-api-log-method', | |
| 1684 | + 'wp-rest-api-log-source', | |
| 1685 | + 'wp-rest-api-log-status', | |
| 1686 | + 'wp-type-activity-types', | |
| 1687 | + 'wp-type-contacts-subtype', | |
| 1688 | + 'wp-type-group', | |
| 1689 | + 'wp_bannerize_tax', | |
| 1690 | + 'wp_log_type', | |
| 1691 | + 'wp_super_faq_category', | |
| 1692 | + 'wpbdm-region', | |
| 1693 | + 'wpbdp_category', | |
| 1694 | + 'wpbdp_tag', | |
| 1695 | + 'wpcm_make_model', | |
| 1696 | + 'wpdmcategory', | |
| 1697 | + 'wpfb_file_category', | |
| 1698 | + 'wpfcas-category', | |
| 1699 | + 'wpfd-category', | |
| 1700 | + 'wplead_list_category', | |
| 1701 | + 'wplss_logo_showcase_cat', | |
| 1702 | + 'wpm-testimonial-category', | |
| 1703 | + 'wpmf-category', | |
| 1704 | + 'wpostahs-slider-category', | |
| 1705 | + 'wprm_course', | |
| 1706 | + 'wprm_cuisine', | |
| 1707 | + 'wprm_ingredient', | |
| 1708 | + 'wprm_keyword', | |
| 1709 | + 'wprss_category', | |
| 1710 | + 'wps_forum', | |
| 1711 | + 'wpsc-variation', | |
| 1712 | + 'wpsc_log_type', | |
| 1713 | + 'wpsc_product_category', | |
| 1714 | + 'wpseo_locations_category', | |
| 1715 | + 'wpsisac_slider-category', | |
| 1716 | + 'wpsl_store_category', | |
| 1717 | + 'wpt_category', | |
| 1718 | + 'wpt_result', | |
| 1719 | + 'wpt_scale', | |
| 1720 | + 'wpv_sermons_category', | |
| 1721 | + 'wpvqgr_tag', | |
| 1722 | + 'writer', | |
| 1723 | + 'wyz_business_category', | |
| 1724 | + 'wyz_business_rating_category', | |
| 1725 | + 'wyz_business_tag', | |
| 1726 | + 'wzkb_category', | |
| 1727 | + 'year', | |
| 1728 | + 'years', | |
| 1729 | + 'yith_product_brand', | |
| 1730 | + 'yith_shop_vendor', | |
| 1731 | + 'yst_prominent_words', | |
| 1732 | + 'zipcode', | |
| 1733 | + 'zoninator_zones', | |
| 1734 | + 'zrf_field_group', | |
| 1735 | + | |
| 1736 | + // End The Backlog @see https://wp.me/p9MPsk-X0. | |
| 1737 | + 'bill-status', | |
| 1738 | + 'etb-audience', | |
| 1739 | + 'etb-state', | |
| 1740 | + 'etb-target', | |
| 1741 | + 'etb-topic', | |
| 1742 | + 'etb-year', | |
| 1743 | + 'foia-response-status', | |
| 1744 | + 'target-type', | |
| 1745 | + 'timeline-pillar', | |
| 1746 | + 'timeline-type', | |
| 1747 | + | |
| 1748 | + // wp.com martketplace search - @see https://wp.me/pdh6GB-Ax#comment-2104 | |
| 1749 | + 'wpcom_marketplace_categories', | |
| 1750 | + | |
| 1751 | + // wp.com a8c-support-theme taxonomies. | |
| 1752 | + 'kb_category', | |
| 1753 | + 'kb_tag', | |
| 1754 | + | |
| 1755 | + // coolhunting.com | |
| 1756 | + 'article-type', | |
| 1757 | + | |
| 1758 | + ); // end taxonomies. | |
| 1759 | + | |
| 1760 | + /** | |
| 1761 | + * List of options to sync | |
| 1762 | + * | |
| 1763 | + * @access private | |
| 1764 | + * @static | |
| 1765 | + * | |
| 1766 | + * @var array | |
| 1767 | + */ | |
| 1768 | + private static $options_to_sync = array( | |
| 1769 | + 'jetpack_search_ai_prompt_override', | |
| 1770 | + 'jetpack_search_color_theme', | |
| 1771 | + 'jetpack_search_result_format', | |
| 1772 | + 'jetpack_search_default_sort', | |
| 1773 | + 'jetpack_search_overlay_trigger', | |
| 1774 | + 'jetpack_search_excluded_post_types', | |
| 1775 | + 'jetpack_search_highlight_color', | |
| 1776 | + 'jetpack_search_enable_sort', | |
| 1777 | + 'jetpack_search_inf_scroll', | |
| 1778 | + 'jetpack_search_show_powered_by', | |
| 1779 | + 'jetpack_search_experience', | |
| 1780 | + 'jetpack_search_ai_answers_enabled', | |
| 1781 | + 'jetpack_search_suggestions_enabled', | |
| 1782 | + 'jetpack_search_override_woocommerce_search_template', | |
| 1783 | + 'reader_chat', | |
| 1784 | + 'instant_search_enabled', | |
| 1785 | + ); // end options. | |
| 1786 | + | |
| 1787 | + /* | |
| 1788 | + * Taxonomies we know don't sync. | |
| 1789 | + * See also sync/src/class-defaults.php | |
| 1790 | + * | |
| 1791 | + * 'network' | |
| 1792 | + * 'post_status' | |
| 1793 | + * 'product_cat' | |
| 1794 | + * 'tags' | |
| 1795 | + * | |
| 1796 | + */ | |
| 1797 | + | |
| 1798 | + // | |
| 1799 | + // Hooks into sync. | |
| 1800 | + | |
| 1801 | + /** | |
| 1802 | + * Add Search post meta to the post meta whitelist. | |
| 1803 | + * | |
| 1804 | + * @param array $list Existing post meta whitelist. | |
| 1805 | + * @return array Updated post meta whitelist. | |
| 1806 | + */ | |
| 1807 | + public function add_search_post_meta_whitelist( $list ) { | |
| 1808 | + return array_merge( $list, static::get_all_postmeta_keys() ); | |
| 1809 | + } | |
| 1810 | + | |
| 1811 | + /** | |
| 1812 | + * Add Search options to the options whitelist. | |
| 1813 | + * | |
| 1814 | + * @param array $list Existing options whitelist. | |
| 1815 | + * @return array Updated options whitelist. | |
| 1816 | + */ | |
| 1817 | + public function add_search_options_whitelist( $list ) { | |
| 1818 | + return array_merge( $list, static::get_all_option_keys() ); | |
| 1819 | + } | |
| 1820 | + | |
| 1821 | + /** | |
| 1822 | + * Add AI Answer CPTs to the post types sync whitelist when AI Answers is enabled. | |
| 1823 | + * | |
| 1824 | + * @param array $list Existing post types whitelist. | |
| 1825 | + * @return array Updated whitelist. | |
| 1826 | + */ | |
| 1827 | + public function add_ai_answer_post_types( $list ) { | |
| 1828 | + $ai_answers_enabled = class_exists( AI_Answers::class ) | |
| 1829 | + ? AI_Answers::is_enabled() | |
| 1830 | + : apply_filters( 'jetpack_search_ai_answers_enabled', (bool) get_option( 'jetpack_search_ai_answers_enabled', false ) ); | |
| 1831 | + | |
| 1832 | + if ( ! $ai_answers_enabled ) { | |
| 1833 | + return $list; | |
| 1834 | + } | |
| 1835 | + $list[] = 'wp_guideline'; | |
| 1836 | + return $list; | |
| 1837 | + } | |
| 1838 | + | |
| 1839 | + // Indexing functions for wp.com. | |
| 1840 | + | |
| 1841 | + /** | |
| 1842 | + * Check whether a postmeta or taxonomy 'key' is in the indexable | |
| 1843 | + * list. This is called by the indexing code on wp.com to decide | |
| 1844 | + * whether to include something in the index. | |
| 1845 | + * | |
| 1846 | + * @static | |
| 1847 | + * @access public | |
| 1848 | + * | |
| 1849 | + * @param string $type Either 'postmeta' or 'taxonomy'. | |
| 1850 | + * @param string $key The postmeta key or taxonomy name. | |
| 1851 | + * @return boolean | |
| 1852 | + */ | |
| 1853 | + public static function is_indexable( $type, $key ) { | |
| 1854 | + switch ( $type ) { | |
| 1855 | + case 'postmeta': | |
| 1856 | + return isset( self::$postmeta_to_sync[ $key ] ); | |
| 1857 | + case 'taxonomy': | |
| 1858 | + return in_array( $key, self::$taxonomies_to_sync, true ); | |
| 1859 | + } | |
| 1860 | + return false; | |
| 1861 | + } | |
| 1862 | + | |
| 1863 | + /** | |
| 1864 | + * | |
| 1865 | + * Get the indexing spec for a postmeta key. | |
| 1866 | + * | |
| 1867 | + * @static | |
| 1868 | + * @access public | |
| 1869 | + * | |
| 1870 | + * @param string $key The postmeta key. | |
| 1871 | + * @return array The spec. | |
| 1872 | + */ | |
| 1873 | + public static function get_postmeta_spec( $key ) { | |
| 1874 | + return self::$postmeta_to_sync[ $key ]; | |
| 1875 | + } | |
| 1876 | + | |
| 1877 | + /** | |
| 1878 | + * Get all post meta keys that get synced. | |
| 1879 | + * | |
| 1880 | + * @access public | |
| 1881 | + * | |
| 1882 | + * @return array List of post meta keys that get synced. | |
| 1883 | + */ | |
| 1884 | + public static function get_all_postmeta_keys() { | |
| 1885 | + return array_keys( self::$postmeta_to_sync ); | |
| 1886 | + } | |
| 1887 | + | |
| 1888 | + /** | |
| 1889 | + * Get all option keys that get synced. | |
| 1890 | + * | |
| 1891 | + * @access public | |
| 1892 | + * | |
| 1893 | + * @return array List of option keys that get synced. | |
| 1894 | + */ | |
| 1895 | + public static function get_all_option_keys() { | |
| 1896 | + return self::$options_to_sync; | |
| 1897 | + } | |
| 1898 | + | |
| 1899 | + /** | |
| 1900 | + * Get all unindexed postmeta. | |
| 1901 | + * This is mostly for testing. | |
| 1902 | + * | |
| 1903 | + * @access public | |
| 1904 | + * | |
| 1905 | + * @return array List of postmeta that are not synced. | |
| 1906 | + */ | |
| 1907 | + public static function get_all_unindexed_postmeta_keys() { | |
| 1908 | + return array_keys( self::$unindexed_postmeta ); | |
| 1909 | + } | |
| 1910 | + | |
| 1911 | + /** | |
| 1912 | + * Get all taxonomies that get synced. | |
| 1913 | + * This is mostly for testing. | |
| 1914 | + * | |
| 1915 | + * @access public | |
| 1916 | + * | |
| 1917 | + * @return array List of taxonomies that get synced. | |
| 1918 | + */ | |
| 1919 | + public static function get_all_taxonomies() { | |
| 1920 | + return self::$taxonomies_to_sync; | |
| 1921 | + } | |
| 1922 | +} | |