<?php /** * Loop Actions Template * * The template displays the loop actions on archive pages. * * @package deTube * @subpackage Template * @since deTube 1.0 */ ?> <?php global $wp_query; $selected_sort_types = dp_selected_sort_types(); // Get selected sort types $selected_view_types = dp_selected_view_types(); // Get selected view types /* Get the loop view of current page based on * user's cookie and the selected sort types */ global $loop_view; if (!empty($_COOKIE['loop_view']) && in_array($_COOKIE['loop_view'], array_keys($selected_view_types))) { $loop_view = $_COOKIE['loop_view']; } elseif (!empty($selected_view_types)) { $_view_types = array_keys($selected_view_types); $loop_view = $_view_types[0]; } else { $loop_view = 'grid-small'; } global $section_view;
function dp_custom_get_posts($query) { if (is_admin()) { return; } $orderby = $query->get('orderby'); $order = $query->get('order'); // If no 'orderby' specified, get first sort type from selected sort types $selected_sort_types = dp_selected_sort_types(); if (is_main_query() && !empty($selected_sort_types) && empty($orderby)) { $_sort_types = array_keys($selected_sort_types); $orderby = $_sort_types[0]; } // Reset query vars based orderby parameter if ($orderby == 'comments') { $query->set('orderby', 'comment_count'); } elseif ($orderby == 'views') { $query->set('orderby', 'meta_value_num'); $query->set('meta_key', 'views'); // The arguments for BAW Post Views Count plugin if (function_exists('baw_pvc_main')) { global $timings; $views_timing = $query->get('views_timing') ? $query->get('views_timing') : 'all'; $date = $views_timing == 'all' ? '' : '-' . date($timings[$views_timing]); $meta_key = apply_filters('baw_count_views_meta_key', '_count-views_' . $views_timing . $date, $views_timing, $date); $query->set('meta_key', $meta_key); } } elseif ($orderby == 'likes') { $query->set('orderby', 'meta_value_num'); $query->set('meta_key', 'likes'); } elseif ($orderby == 'title' && !$order) { // If order by title, and no order specified, set "ASC" as default order. $query->set('order', 'ASC'); } // Only display posts on search results page if (is_search() && $query->is_main_query()) { $query->set('post_type', 'post'); } }