画像の投稿をページ分割する方法を見つけようとしています。私はカスタム投稿タイプをギャラリーのように機能するように設定しています - 画像のみ。そして、画像をページ付けしたいと思います。私はこれでどこから始めればいいのかを突き止めようとして苦労しています。
投稿に添付された画像を取得するために、ループ内でget_posts()を使用しています。 1ページに30枚の画像が表示されるように設定します。
どこから始めればいいのでしょうか。それとも、このギャラリー機能をWPで設定する方法を変更する必要がありますか?
前もって感謝します!
あなたは paginate_links()
を使って総ギャラリーをページ分割することができます。これはパーマリンクの設定に大きく依存します。最善の方法は、このトピックに関する他の回答をWPSEで確認すること です 。
単一の添付ファイル表示をナビゲートするタスクもあります。
次の投稿または前の投稿にリンクできる adjacent_post_link()
関数があります - 添付ファイルは "attachment"タイプの投稿です。フィルタされた出力をエコーします
apply_filters( "{$adjacent}_post_link", $format, $link );
$adjacent
はprevious
またはnext
です。
adjacent_post_link(
'%link' // format
,'%date/%title' // link
,false // in_same_cat
,'' // excluded_categories
,false // next/previous (previous = true)
);
添付ファイルの投稿タイトルが空の場合は、 "Previous/Next Post"というテキストに置き換えられます。このタイトルにはすべてのthe_title
フィルタコールバック関数が添付されています。これを望まないのであれば、それらを削除する必要があります。
function wpse66660_attachment_remove_title_cbs( $title, $id )
{
is_attachment() AND remove_all_filters( current_filter() );
return $title;
}
add_filter( 'the_title', 'wpse66660_attachment_remove_title_cbs', 100, 2 );
↑上で見たように、%link
、%date
、%title
の3つのタグがあります。
関数の出力は次のようになります。
'<a href="'.get_permalink($post).'" rel="prev/next">' . $link . '</a>'
%title
は投稿のタイトルに置き換えられ、%date
は投稿の日付に置き換えられます。これにより、HTMLアンカータグに任意のカスタム値を追加できます。
%link
を使用すると、最後の文字列(HTMLアンカー+リンク+ rel +値)に含まれるすべてのものを、パーマリンク設定に合わせたカスタムのものに置き換えることができます。