Guest User

Untitled

a guest
Jan 17th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.66 KB | None | 0 0
  1. [av_codeblock wrapper_element='pre' wrapper_element_attributes='' escape_html='aviaTBescape_html' deactivate_shortcode='aviaTBdeactivate_shortcode' custom_class='']
  2. if(!function_exists('avia_custom_query_extension'))
  3. {
  4. function avia_custom_query_extension($query, $params)
  5. {
  6. global $avia_config;
  7. if(!empty($avia_config['avia_custom_query_options']['order']))
  8. {
  9. $query['order'] = $avia_config['avia_custom_query_options']['order'];
  10. }
  11.  
  12. if(!empty($avia_config['avia_custom_query_options']['orderby']))
  13. {
  14. $query['orderby'] = $avia_config['avia_custom_query_options']['orderby'];
  15. }
  16.  
  17. unset($avia_config['avia_custom_query_options']);
  18.  
  19. return $query;
  20. }
  21.  
  22. add_filter('avia_masonry_entries_query', 'avia_custom_query_extension', 10, 2);
  23. add_filter('avia_post_grid_query', 'avia_custom_query_extension', 10, 2);
  24. add_filter('avia_post_slide_query', 'avia_custom_query_extension', 10, 2);
  25. add_filter('avia_blog_post_query', 'avia_custom_query_extension', 10, 2);
  26. add_filter('avf_magazine_entries_query', 'avia_custom_query_extension', 10, 2);
  27.  
  28. add_filter('avf_template_builder_shortcode_elements','avia_custom_query_options', 10, 1);
  29. function avia_custom_query_options($elements)
  30. {
  31. $allowed_elements = array('av_blog','av_masonry_entries','av_postslider','av_portfolio','av_magazine');
  32.  
  33. if(isset($_POST['params']['allowed']) && in_array($_POST['params']['allowed'], $allowed_elements))
  34. {
  35. $elements[] = array(
  36. "name" => __("Custom Query Orderby",'avia_framework' ),
  37. "desc" => __("Set a custom query orderby value",'avia_framework' ),
  38. "id" => "orderby",
  39. "type" => "select",
  40. "std" => "",
  41. "subtype" => array(
  42. __('Default Order', 'avia_framework' ) =>'',
  43. __('Title', 'avia_framework' ) =>'title',
  44. __('Random', 'avia_framework' ) =>'rand',
  45. __('Date', 'avia_framework' ) =>'date',
  46. __('Author', 'avia_framework' ) =>'author',
  47. __('Name (Post Slug)', 'avia_framework' ) =>'name',
  48. __('Modified', 'avia_framework' ) =>'modified',
  49. __('Comment Count', 'avia_framework' ) =>'comment_count',
  50. __('Page Order', 'avia_framework' ) =>'menu_order')
  51. );
  52.  
  53. $elements[] = array(
  54. "name" => __("Custom Query Order",'avia_framework' ),
  55. "desc" => __("Set a custom query order",'avia_framework' ),
  56. "id" => "order",
  57. "type" => "select",
  58. "std" => "",
  59. "subtype" => array(
  60. __('Default Order', 'avia_framework' ) =>'',
  61. __('Ascending Order', 'avia_framework' ) =>'ASC',
  62. __('Descending Order', 'avia_framework' ) =>'DESC'));
  63. }
  64.  
  65. return $elements;
  66. }
  67.  
  68. add_filter('avf_template_builder_shortcode_meta', 'avia_custom_query_add_query_params_to_config', 10, 4);
  69. function avia_custom_query_add_query_params_to_config($meta, $atts, $content, $shortcodename)
  70. {
  71. global $avia_config;
  72. if(empty($avia_config['avia_custom_query_options'])) $avia_config['avia_custom_query_options'] = array();
  73.  
  74. if(!empty($atts['order']))
  75. {
  76. $avia_config['avia_custom_query_options']['order'] = $atts['order'];
  77. }
  78.  
  79. if(!empty($atts['orderby']))
  80. {
  81. $avia_config['avia_custom_query_options']['orderby'] = $atts['orderby'];
  82. }
  83.  
  84. return $meta;
  85. }
  86. }
  87. [/av_codeblock]
Add Comment
Please, Sign In to add comment