File manager - Edit - /home/verseaumee/maze/wp-content/plugins/pinterest-for-woocommerce/src/Product/GoogleCategorySearch.php
Back
<?php /** * Class GoogleCategorySearch * * @package Automattic\WooCommerce\Pinterest\Product */ declare( strict_types=1 ); namespace Automattic\WooCommerce\Pinterest\Product; /** * Class GoogleCategorySearch */ class GoogleCategorySearch { /** * Register. */ public function register(): void { add_action( 'wp_ajax_woocommerce_json_search_google_category', function() { $this->search_category(); } ); } /** * Search for a Google Category. * * @return void */ protected function search_category() { ob_start(); check_ajax_referer( 'search-products', 'security' ); if ( ! current_user_can( 'edit_products' ) ) { wp_die( -1 ); } $search_text = isset( $_GET['term'] ) ? wc_clean( wp_unslash( $_GET['term'] ) ) : ''; if ( ! $search_text ) { wp_die(); } wp_send_json( $this->matching_categories( $search_text ) ); } /** * Return list of matching Google Categories * * @param string $search_text Search text to match. * @return array List of categories. */ protected function matching_categories( string $search_text ): array { $matching = array_filter( GoogleProductTaxonomy::TAXONOMY, function( $category ) use ( $search_text ) { return isset( $category['label'] ) && false !== stripos( $category['label'], $search_text ); } ); $categories = array_map( array( $this, 'full_category_name' ), $matching ); return array_combine( $categories, $categories ); } /** * Returns the category name including it's parents. * * @param array $category Google Category information. * @return string */ protected function full_category_name( array $category ): string { if ( ! empty( $category['parent'] ) ) { $parent = $this->full_category_name( GoogleProductTaxonomy::TAXONOMY[ $category['parent'] ] ); return "{$parent} > {$category['label']}"; } return $category['label']; } }
| ver. 1.4 |
Github
|
.
| PHP 8.5.7 | Generation time: 0 |
proxy
|
phpinfo
|
Settings