2012-05-02 4 views
0

投稿のページ設定を実装しようとしています。私は少しPHP関数とそれを呼び出す方法につかまっていますが。Wordpressページネゴシエーションの実装方法

は簡単な方法は、私が推測するこれです:

<?php posts_nav_link(); ?> 

しかし、私は、カスタムページネーションをしたい場合は?ここで

は私の現在のコードです:

<?php 
    global $wp_query; 
    $total = $wp_query->max_num_pages; 
    if ($total > 1) { 
     if (!$current_page = get_query_var('paged')) 
       $current_page = 1; 
     echo paginate_links(array(
       'base' => get_pagenum_link(1) . '%_%', 
       'format' => '?paged=%#%', 
       'current' => $current_page, 
       'total' => $total, 
       'mid_size' => 4, 
       'type' => 'list' 
     )); 
    } 
?> 

は、この正しいとどのように私はそれを呼ぶのですか? index.phpで?ループのどこに?ありがとう。

説明のために編集:このコードを実装するにはどうすればよいですか?現時点では私はfunctions.phpに入れました。だから、どのように(そしてループのどこで)この関数を '参照'するので、ページネーションが表示されます。

+0

あなたが達成するために、おそらく誰かがアドバイスしてくれてありがとう@gernberg – gernberg

+0

:-)あなたの質問に答える方法を知っていますしようとしているのかについて、より具体的にしてください、今編集を行いました。 – Harry

答えて

1

このコードを実装するには2通りの方法があります。今のように、あなたはその2人の間にいます。

最初の方法は、ページ内のコードを直接テンプレートに追加して、ループ内のどこかで使用することです(ほとんどの場合、閉じる<?php endwhile; ?>タグの直前)。 single.phpテンプレートを使用している場合は、そこに配置し、そうでなければindex.phpに配置します。ループの内側に配置するかどうかは、ページ上のどこにページを表示するかによって異なります。

第二の方法は、(あなたが行っている)のfunctions.phpファイルに改ページコードを追加することです。しかし、あなたのコードを少し修正する必要があります。関数内でコードをラップし、その関数の名前を何か指定する必要があります。私は例のためにyour_custom_paginationを使用しました。 functions.phpファイルはすでにphpタグでラップされている可能性が高いので、それらを削除しました。

function your_custom_pagination() { 
    global $wp_query; 
    $total = $wp_query->max_num_pages; 
    if ($total > 1) { 
     if (!$current_page = get_query_var('paged')) { 
      $current_page = 1; 
     } 
     echo paginate_links(array(
      'base' => get_pagenum_link(1) . '%_%', 
      'format' => '?paged=%#%', 
      'current' => $current_page, 
      'total' => $total, 
      'mid_size' => 4, 
      'type' => 'list' 
     )); 
    } 
} 

次に、あなたは、あなたが使用しているテンプレートに移動して、ページネーション機能を呼び出すために、私は上に示した同じ場所にこのコード<?php your_custom_pagination(); ?>を配置する必要があります。

私は実際にそれが有効なすべてのものが動作するはずだと仮定すると、あなたのコードをテストしていません。

+0

こんにちは、ありがとう!私が今必要とするのは、HTMLでどのように表示されるかという観点からページネーションを適切にフォーマットすることだけです。おそらく、これをどうやって行うのかアドバイスできますか? (phpの構文がわかりません) – Harry

関連する問題