2011-07-27 7 views
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($page_number=='' || !in_array(get_the_ID(),$sticky)) $print_it=true; 
else $print_it=false; 

答えて

1

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

私は(!!ない読みするのが最も簡単)あなたの場合はネストされた書類について少し混乱していますが、私は、この関数は読み込みと保守が少し楽だと思う:

$print_it=print_it(); 

function print_it(){ 
if($page_number<=1){ 
    if (!in_array(get_the_ID(),$sticky){ 
    return true; 
    } 
return false; 
} 
} 
+0

これは、上のスティッキー投稿を非表示になりますホームページで... – Trey

+0

本当にポイントは 'get_query_var'を使っていましたが、それは間違いありません。これは、構造変更のパーマリンクに柔軟に対応し、読みやすくなります。 –

関連する問題