it-swarm.com.de

So ändern Sie die Reihenfolge von Posts nach Views (mit dem Plugin "wp-postviews")

Ich hoffe, jemand wäre nett genug, um zu helfen. Ich habe derzeit eine Seite, die alle Beiträge nach Anzahl der Kommentare sortiert, aber ich möchte die Schleife ändern, um die Beiträge nach Anzahl der Aufrufe zu sortieren. Ich habe das Plugin 'wp-postviews.1.50' installiert und habe es so eingestellt, dass es die Anzahl der Aufrufe für jeden Beitrag anzeigt. Ich weiß also, dass diese Seite funktioniert. Jetzt muss nur noch der Loop-Code geändert werden, um die Reihenfolge der meisten Aufrufe zu gewährleisten. Ist das möglich?

So wird die Anzahl der Views aufgerufen:

<?php $views = get_post_meta($post->ID, 'views', true); ?><?php echo $views; ?>

Und hier ist die Schleife, die ich ändern muss:

<?php $posts_per_page = get_query_var('posts_per_page'); ?>
<?php $paged = intval(get_query_var('paged')); ?>
<?php $paged = ($paged) ? $paged : 1; ?>
<?php $args = array(
'posts_per_page' => $posts_per_page,
'paged' => $paged,
'more' => $more = 0,
'orderby' => 'comment_count',
'order' => 'DESC',
); ?>
<?php query_posts($args); ?>
<?php if (have_posts()) : while (have_posts()) : the_post() ;?>
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">

Vielen Dank im Voraus für jede Hilfe.

Ich benutze WordPress 3.0.4.

4
PG73

Ich wollte nur ein Update geben. Jemand war so nett, mir zu zeigen, wie ich den Code, den ich oben gepostet habe, aktualisiere. Es stellte sich als recht einfach heraus (wenn Sie wissen, was Sie tun!). Also habe ich es unten für jeden gepostet, der etwas Ähnliches machen möchte.

<?php $posts_per_page = get_query_var('posts_per_page'); ?>
<?php $paged = intval(get_query_var('paged')); ?>
<?php $paged = ($paged) ? $paged : 1; ?>
<?php $args = array(
'posts_per_page' => $posts_per_page,
'paged' => $paged,
'more' => $more = 0,
'meta_key' => 'views',
'orderby' => 'meta_value_num',
'order' => 'DESC',
); ?>
<?php query_posts($args); ?>
<?php if (have_posts()) : while (have_posts()) : the_post() ;?>
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">
7
PG73

Ich habe es so schön gemacht :)

<?php $args = array(
  'posts_per_page' => 4,
  'category_name' => 'xyz',
  'meta_key' => 'views',
  'orderby' => 'meta_value_num',
  'order' => 'DESC',
  'post_status' => 'publish'
); ?>
0
Tony_404

Versuchen Sie es mit diesem:

$args=array(
 'posts_per_page'      => 15, 
 'post_type'     => 'post', 
 'key' => 'views',
 'orderby' => 'meta_value_num', 
 'order'    => 'ASC',
 'post_status' => 'publish'
);

query_posts($args); ?>
 <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
0
user3631

Aus der Plugin-Dokumentation

So zeigen Sie die meistgesehenen Beiträge an:

<?php if
(function_exists('get_most_viewed')):
?>
<ul>
      <?php get_most_viewed(); ?>    
</ul> <?php endif; ?> 

Der erste Wert, den Sie übergeben, ist der Wert, den Sie erhalten möchten: 'post', 'page' oder 'both'. Der zweite Wert, den Sie übergeben, ist die maximale Anzahl von Posts, die Sie erhalten möchten.

Voreinstellung: get_most_viewed ('both', 10);

0
anu