ข้ามการนำทาง

Open

Topic Tags: Compatibility

Overview of the issue

Elementor Pro’s experimental Taxonomy Filter feature, which is currently in Alpha, exhibits issues when used with the Loop Grid on translated pages and it fails to display the expected results.

Workaround

Please, make sure of having a full backup of your site before proceeding.

Part I

  • Open …/wp-content/plugins/elementor-pro/modules/loop-filter/widgets/taxonomy-filter.php file.
  • Look for line 691.
  • Just after:
    		$widget_data = Utils::find_element_recursive( $document->get_elements_data(), $this->get_settings_for_display( 'selected_element' ) );
    
  • Add this code:
    		if (isset($widget_data['settings']['post_query_include_term_ids'])) {
    			$translated_data = [];
    			foreach ($widget_data['settings']['post_query_include_term_ids'] as $term_id) {
    				$translated_data[] = get_term($term_id)->term_id;
    			}
    			$widget_data['settings']['post_query_include_term_ids'] = $translated_data;
    		}
    

Part II

  • Open your theme’s functions.php file.
  • Add the following code:
    /**
     * @link wpmlsupp-11444
     */
    add_filter( 'elementor/query/query_args', function( $query_args ) {
    	$translated_query_args = $query_args;
    
    	if (isset($query_args['tax_query'])) {
    		foreach ($query_args['tax_query'] as $key => $query) {
    			if (isset($query['field']) && in_array($query['field'], ['term_id', 'term_taxonomy_id'], true)) {
    				$query['terms'] = array_map(function( $id ) use ($query){
    					return apply_filters( 'wpml_object_id', $id, $query['taxonomy'], TRUE  ); 
    				}, (array) $query['terms']);
    
    				$translated_query_args['tax_query'][$key] = $query;
    			}
    		}
    	}
    
    	return $translated_query_args;
    }, 100 );
    

4 การตอบกลับ ถึง “Elementor Pro - "Taxonomy Filter" Feature Not Working for Secondary Language”

ทิ้งคำตอบไว้

โปรดอยู่ในหัวข้อและเคารพผู้อื่น หากคุณต้องการความช่วยเหลือเกี่ยวกับปัญหาที่ไม่เกี่ยวข้องกับโพสต์นี้ โปรดใช้ฟอรัมสนับสนุนของเราเพื่อเริ่มการสนทนาหรือส่งตั๋ว.

คุณสามารถใช้แท็กเหล่านี้:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>