Forum Replies Created
Viewing 2 posts - 1 through 2 (of 2 total)
-
AuthorPosts
-
This should work. (A modified version of Kriesi add orderby code http://kriesi.at/documentation/enfold/how-to-add-an-orderorderby-option-to-the-blogpost-sliderportfoliomasonry-grid-element/) Perhaps Kriesi can update their code, and or add a note about this to that post.
if(!function_exists('avia_custom_query_extension')) { function avia_custom_query_extension($query, $params) { global $avia_config; if(!empty($avia_config['avia_custom_query_options']['order'])) { $query['order'] = $avia_config['avia_custom_query_options']['order']; } if(!empty($avia_config['avia_custom_query_options']['orderby'])) { $query['orderby'] = $avia_config['avia_custom_query_options']['orderby']; } if(!empty($avia_config['avia_custom_query_options']['meta_key'])) { $query['meta_key'] = $avia_config['avia_custom_query_options']['meta_key']; } unset($avia_config['avia_custom_query_options']); return $query; } add_filter('avia_masonry_entries_query', 'avia_custom_query_extension', 10, 2); add_filter('avia_post_grid_query', 'avia_custom_query_extension', 10, 2); add_filter('avia_post_slide_query', 'avia_custom_query_extension', 10, 2); add_filter('avia_blog_post_query', 'avia_custom_query_extension', 10, 2); add_filter('avf_magazine_entries_query', 'avia_custom_query_extension', 10, 2); add_filter('avf_template_builder_shortcode_elements','avia_custom_query_options', 10, 1); function avia_custom_query_options($elements) { $allowed_elements = array('av_blog','av_masonry_entries','av_postslider','av_portfolio','av_magazine'); if(isset($_POST['params']['allowed']) && in_array($_POST['params']['allowed'], $allowed_elements)) { $elements[] = array( "name" => __("Custom Query Orderby",'avia_framework' ), "desc" => __("Set a custom query orderby value",'avia_framework' ), "id" => "orderby", "type" => "select", "std" => "", "subtype" => array( __('Default Order', 'avia_framework' ) =>'', __('Title', 'avia_framework' ) =>'title', __('Random', 'avia_framework' ) =>'rand', __('Date', 'avia_framework' ) =>'date', __('Author', 'avia_framework' ) =>'author', __('Name (Post Slug)', 'avia_framework' ) =>'name', __('Modified', 'avia_framework' ) =>'modified', __('Comment Count', 'avia_framework' ) =>'comment_count', __('Page Order', 'avia_framework' ) =>'menu_order', __('Meta Value', 'avia_framework' ) =>'meta_value', __('Meta Value Number', 'avia_framework' ) =>'meta_value_num')); ); $elements[] = array( "name" => __("Custom Query Meta Key",'avia_framework' ), "desc" => __("Set custom meta keys to order by",'avia_framework' ), "id" => "meta_key", "type" => "select", "std" => "", "subtype" => array( __('None', 'avia_framework' ) =>'', __('Page 1 Order', 'avia_framework' ) =>'your_meta_key_1', __('Page 2 Order', 'avia_framework' ) =>'your_meta_key_2', __('Page 3 Order', 'avia_framework' ) =>'your_meta_key_3')); $elements[] = array( "name" => __("Custom Query Order",'avia_framework' ), "desc" => __("Set a custom query order",'avia_framework' ), "id" => "order", "type" => "select", "std" => "", "subtype" => array( __('Default Order', 'avia_framework' ) =>'', __('Ascending Order', 'avia_framework' ) =>'ASC', __('Descending Order', 'avia_framework' ) =>'DESC')); } return $elements; } add_filter('avf_template_builder_shortcode_meta', 'avia_custom_query_add_query_params_to_config', 10, 4); function avia_custom_query_add_query_params_to_config($meta, $atts, $content, $shortcodename) { global $avia_config; if(empty($avia_config['avia_custom_query_options'])) $avia_config['avia_custom_query_options'] = array(); if(!empty($atts['order'])) { $avia_config['avia_custom_query_options']['order'] = $atts['order']; } if(!empty($atts['orderby'])) { $avia_config['avia_custom_query_options']['orderby'] = $atts['orderby']; } if(!empty($atts['meta_key'])) { $avia_config['avia_custom_query_options']['meta_key'] = $atts['meta_key']; } return $meta; } }
Please note the addition of meta_key code in EACH function.
In the first $element[ ] notice the addition of__('Meta Value', 'avia_framework' ) =>'meta_value', __('Meta Value Number', 'avia_framework' ) =>'meta_value_num'));
In the second $elements[] code block, change
__('Page 1 Order', 'avia_framework' ) =>'your_meta_key_1',
To your specific page name, and your specific meta_key. In your case, it would look like htis:
__('Seminar Datum', 'avia_framework' ) =>'seminar_datum')
You can have as many meta_keys as you want.
Hope this helps!
elaine- This reply was modified 8 years, 2 months ago by iHuman.
Never mind ;) The autoresponder went to my spam folder.
-
AuthorPosts
Viewing 2 posts - 1 through 2 (of 2 total)