2020/09/16
カスタム投稿
備忘録です。
カスタム投稿一覧で記事の順番を「新しい順」「古い順」で並び替えをする方法です。
カスタム投稿一覧のテンプレートに記述
<a href="?order=asc">古い順に表示</a> <a href="?order=desc">新しい順に表示</a>
functions.phpに記述
//記事ソート
function custom_post_order_query( $query ) {
if ( !is_admin() && $query->is_main_query() && is_post_type_archive( 'my_custom_post' ) ) {
// クエリパラメータ "order" が存在するかチェック
if ( isset( $_GET['order'] ) && $_GET['order'] == 'ASC' ) {
// 古い順
$query->set( 'order', 'ASC' );
} else {
// デフォルトは新しい順
$query->set( 'order', 'DESC' );
}
}
}
add_action( 'pre_get_posts', 'custom_post_order_query' );
テンプレートに記述(アンカーリンクはlist)
<?php // 新しい順へのリンク $new_order_link = add_query_arg( 'order', 'DESC' ); // 古い順へのリンク $old_order_link = add_query_arg( 'order', 'ASC' ); ?> <!-- ソートボタンを任意の位置に設置 --> <a href="<?php echo esc_url( $new_order_link ); ?>#list">新しい順</a> <a href="<?php echo esc_url( $old_order_link ); ?>#list">古い順</a>
2026/11/03
AI
2026/11/02
JQuery
css
2026/11/01
車
2026/10/31
神社
御朱印
2026/10/30
AI
Wordpress
AIが書いた原稿をWordPressの「ブロック」に変換して下書きに──Markdownで書かせる理由と、変換で決めた5つのこと