0

これがこれを処理する最善の方法であるかどうかはわかりませんが、ループからスティック投稿を削除する必要がありました.最初のページに表示するにはまだスティッキーが必要ですが、無限のリストを使用しているため、私は望んでいませんでした2回表示されます。これは機能しますが、それを達成するために index.php ファイルを編集するのは少しハックな気がします... 他に何か考えはありますか?

//Get the current page number
$url_args=explode('/',trim($_SERVER['REQUEST_URI'],'/'));
$page_number=array_pop($url_args);

$sticky=get_option('sticky_posts');

//if no page number, we are on the home page, so stickies are ok
$print_it=($page_number=='')?true:(in_array(get_the_ID()*1,$sticky)?false:true);

読みやすい if ステートメント:

if($page_number=='' || !in_array(get_the_ID(),$sticky)) $print_it=true;
else $print_it=false;
4

1 に答える 1

1

まず、$page_number = (get_query_var('paged')) ? get_query_var('paged') : 1現在のページを確立するために使用します。

ネストされた if ステートメントについて少し混乱しています (読みやすいとは言えません!!) が、この関数は読みやすく維持しやすいと思います。

$print_it=print_it();

function print_it(){
 if($page_number<=1){
   if (!in_array(get_the_ID(),$sticky){
    return true;
   }
 return false;
 }
}
于 2011-07-28T10:20:16.297 に答える