php sorgusu wordpress

2 Cevap php

Ben Yığın taşması bu daha önce yayınlanmıştır, ama olumlu bir sonuç alamadım. Ben tekrar yapmak gerektiğini düşündüm.

<?php require_once 'news/wp-config.php';
$howMany = 0;
$query ="SELECT `ID`, `post_title`,'post_category', `guid`,SUBSTRING_INDEX(`post_content`, ' ', 100) AS `post_excerpt` FROM $wpdb->posts WHERE `post_status`= \"publish\" AND `post_type` = \"post\" AND post_category != \"1\" ";
$posts = $wpdb->get_results($query);
$posts = array_reverse($posts);
foreach($posts as $post)
{
    if($howmany<10)
    {
        $link = $post->guid;
        echo "<li><a target='_blank' href='$link'>$post->post_title</a></li>";
        $howmany++;
    }   

}                   
?>

Ben yukarıdaki kod Kategori 1 Mesajları görüntülemek istemiyor. Ben her şeyi doğru yaptık düşünüyorum, ama yine de ben istiyorum, sonuç alamaz.

Hatta açıkça kategori 3 veya 4'ten mesajları görüntülemek için sorguyu sorarsanız bir şey daha, bu olmaz. Tüm kategorilerdeki görüntüleyen mesajları biter.

2 Cevap

Sen query_posts() işlevini kullanmanız gerekir. Eğer değilse, en azından sql Sorguya $ howmany değişken ve yerine append "LİMİT 10" kurtulmak.

İşte döngü için prepped bir kategori almanın bir örnektir:

<?php
     // Borrowed heavily from link above...
     $categoryvariable=1; // assign the variable as current category
     $numposts = 10;
     // Set up the query
     $query= 'cat=' . $categoryvariable. '&orderby=date&order=ASC&showposts='.$numposts;      
     query_posts($query); // run the query

//The Loop
if ( have_posts() ) : while ( have_posts() ) : the_post();
     // Do all your echo stuff here
endwhile; else:

endif;

//Reset Query
wp_reset_query();

?>

Ben ikinci wordpress fonksiyonlarını kullanarak olacaktır.

İşte büyük bir kaynağın http://codex.wordpress.org/Function_Reference/query_posts

The correct syntax would be query_posts('category__not_in=1');

Ben size kategori 1 istemediğini söyledi düşünüyorum.