So fragen Sie Beiträge aus der database ab, die durch das Plugin festgelegt wurde

Ich benutze ein Like- Plugin, das eine ähnliche Schaltfläche zu meiner Site hinzufügt. Es speichert die Anzahl der “Likes” usw. in der database. Das Plugin erlaubt mir auch, die beliebtesten Posts (DESC) in einer Seite mit einem Shortcode anzuzeigen – leider zeigt diese function nur die Posts ohne Paginierung in einem einfachen Listenformat an. Hier ist die Shortcode-function des Plugins, um den beliebtesten Post anzuzeigen:

/*--------------------------------------------* * Shortcode //dot_recommended_top_posts *--------------------------------------------*/ function dot_recommended_top_posts( $atts, $content = null ) { // define attributes and their defaults // get our variable from $atts $atts = shortcode_atts( array( 'container' => 'li', 'number' => '10', 'post_type' => 'post', 'year' => '', 'monthnum' => '', 'show_count' => '1', ), $atts ); global $wpdb; // empty params array to hold params for prepared statement $params = array(); // build query string $sql = "SELECT * FROM $wpdb->posts, $wpdb->postmeta WHERE $wpdb->posts.ID = $wpdb->postmeta.post_id"; // add year if( '' !== $atts['year'] ) { $sql .= ' AND YEAR(post_date) = %d'; $params[] = $atts['year']; } // add monthnum if( '' !== $atts['monthnum'] ) { $sql .= ' AND MONTH(post_date) = %d'; $params[] = $atts['monthnum']; } // add post WHERE $sql .= " AND post_status = 'publish' AND post_type = %s AND meta_key = '_recommended'"; $params[] = $atts['post_type']; // add order by and limit $sql .= " ORDER BY {$wpdb->postmeta}.meta_value+0 DESC LIMIT %d"; $params[] = $atts['number']; // prepare sql statement $query = $wpdb->prepare( $sql, $params ); // execute query $posts = $wpdb->get_results( $query ); $return = ''; foreach ($posts as $item) { $post_title = stripslashes( $item->post_title ); $permalink = get_permalink( $item->ID ); $post_count = $item->meta_value; $return .= ''; $return .= '' . esc_html( $post_title ) . ' '; if ( $atts['show_count'] == '1') { $return .= '' . esc_html( $post_count ) . ' '; } $return .= ''; } return $return; } //dot_recommended_top_posts 

Meine Frage:

Wie kann ich den Post mit Paginierung aus der database abfragen, indem ich eine benutzerdefinierte Abfrage in einer benutzerdefinierten Seitenvorlage verwende? Ich habe bereits eine Seitenvorlage, die Post von einem anderen Build in Theme-Function mit Paginierung perfectley anzeigt. Mein Ziel ist es, diese Seitenvorlage so anzupassen, dass die beliebtesten Beiträge des Plugins in absteigender Reihenfolge angezeigt werden. Hier kommt die Vorlage, die mit der anderen function gut funktioniert – aber ich brauche deine Hilfe, um die Abfrage zu erstellen, um die beliebtesten Beiträge zu erhalten, die vom Plugin gesetzt werden:

    

'" . date('Ym-d', strtotime($duration)) . "'"; // if (of_get_option('popularity') == 'comments') { // $where .= ' AND comment_count != 0'; // } // return $where; // } // if ('likes' == $popularity = of_get_option('popularity')) { // $args = array( // 'meta_key' => '_Likes Count', // 'meta_compare' => '>', // 'meta_value' => '0', // 'orderby' => 'meta_value_num', // 'order' => 'DESC', // 'category_name' => sanitize_text_field($_GET['category']), // 'paged' => $paged // ); // add_filter('posts_where', 'filter_where'); // add_filter('posts_orderby', 'xay_meta_value_num_orderby'); // query_posts($args); // remove_filter('posts_where', 'filter_where'); // remove_filter('posts_orderby', 'xay_meta_value_num_orderby'); // } else if ($popularity == 'comments') { // $args = array( // 'orderby' => 'comment_count', // 'category_name' => sanitize_text_field($_GET['category']), // 'paged' => $paged // ); // add_filter('posts_where', 'filter_where'); // add_filter('posts_orderby', 'xay_comments_orderby'); // query_posts($args); // remove_filter('posts_where', 'filter_where'); // remove_filter('posts_orderby', 'xay_comments_orderby'); // } else { // $args = array( // 'category_name' => sanitize_text_field($_GET['category']), // 'paged' => $paged // ); // query_posts($args); // } get_template_part('index', 'masonry'); get_footer(); ?>

Solutions Collecting From Web of "So fragen Sie Beiträge aus der database ab, die durch das Plugin festgelegt wurde"