WP PLUGIN 投稿表示順設定

・タクソノミーのソート順登録/未登録両方取得するようget_postsのパラメータを修正
・タクソノミーのソート順登録/未登録両方取得に伴いテンプレートを修正
・通常と検索のソート順登録/未登録両方取得するようget_postsのパラメータを修正
・「表示設定に従う」メニューへposts_per_pageの設定件数を表示
・バグ修正:検索設定のnema属性修正と検索ページのメソッド引数修正
This commit is contained in:
2021-05-08 11:50:31 +09:00
parent bacd6a1d72
commit df9c7deef1
7 changed files with 334 additions and 326 deletions
+147 -201
View File
@@ -1,6 +1,6 @@
<?php
$normal_lists = APOP_UI::get_all_search_normal_posts( 'registered', 'normal' );
$search_lists = APOP_UI::get_all_search_normal_posts( 'registered', 'search' );
$normal_lists = APOP_UI::get_all_search_normal_posts( 'normal' );
$search_lists = APOP_UI::get_all_search_normal_posts( 'search' );
$category_lists = array( 'category' => APOP_UI::get_cat_tag_list( 'cat', 'category' ) );
$tag_lists = array( 'tag_id' => APOP_UI::get_cat_tag_list( 'tag', 'post_tag' ) );
$taxonomy_lists = array( 'taxonomy' => APOP_UI::get_cat_tag_list( 'tax', 'taxonomy' ) );
@@ -8,230 +8,176 @@ $submit_type = APOP_UI::input_post_filter( 'submit_type', 'str' );
$apop_search_order_check = APOP_UI::get_order_type( '_apop_search_order' );
$apop_normal_check = APOP_UI::get_order_type( '_apop_normal_order' );
?>
<h2>並べ替え</h2>
<nav class="post-order-nav">
<ul>
<li class="en">通常</li>
<li>検索</li>
<li>カテゴリー</li>
<li>タグ</li>
<li>カスタム分類</li>
</ul>
</nav>
<div class="post-order-box-outer" data-submit_type="<?php echo $submit_type; ?>">
<div class="post-order-box">
<div class="list-orders-outer">
<?php $exclude_posts = []; ?>
<div class="list-orders-inner search_inner">
<form action="" method="post">
<?php wp_nonce_field( 'sh_options' ); ?>
<ul class="apop_normal_order_target"
data-normal_order_target="<?php echo $apop_normal_check; ?>">
<li><label>
<input class="apop_normal_order" type="radio" name="_apop_normal_order"
value="1"<?php checked( $apop_normal_check, 1 ); ?>>標準</label></li>
<li><label>
<input class="apop_normal_order" type="radio" name="_apop_normal_order"
value="2"<?php checked( $apop_normal_check, 2 ); ?>>カスタム</label></li>
</ul>
<hr>
<div class="normal_sort_box">
<?php list( $list, $alert ) = APOP_UI::create_search_normal_list( 'normal' ); ?>
<?php echo $alert; ?>
<ul class="post-order-list search_normal_sort">
<?php echo $list; ?>
<div class="post-setting-box">
<h2>並べ替え</h2>
<nav class="post-order-nav">
<ul>
<li class="en">通常</li>
<li>検索</li>
<li>カテゴリー</li>
<li>タグ</li>
<li>カスタム分類</li>
</ul>
</nav>
<div class="post-order-box-outer" data-submit_type="<?php echo $submit_type; ?>">
<div class="post-order-box">
<div class="list-orders-outer">
<?php $exclude_posts = []; ?>
<div class="list-orders-inner search_inner">
<form action="" method="post">
<?php wp_nonce_field( 'sh_options' ); ?>
<ul class="apop_normal_order_target"
data-normal_order_target="<?php echo $apop_normal_check; ?>">
<li><label>
<input class="apop_normal_order" type="radio" name="_apop_normal_order"
value="1"<?php checked( $apop_normal_check, 1 ); ?>>標準</label></li>
<li><label>
<input class="apop_normal_order" type="radio" name="_apop_normal_order"
value="2"<?php checked( $apop_normal_check, 2 ); ?>>カスタム</label></li>
</ul>
</div>
<hr>
<div class="normal_sort_box">
<?php list( $list, $alert ) = APOP_UI::create_search_normal_list( 'normal' ); ?>
<?php echo $alert; ?>
<ul class="post-order-list search_normal_sort">
<?php echo $list; ?>
</ul>
</div>
<div class="normal_sort_box">
<?php echo APOP_UI::none_registerd_alert_msg(); ?>
<ul class="post-order-list">
<?php foreach ( $normal_lists as $i => $normal_list ): $normal_order = $i + 1; ?>
<?php $exclude_posts[] = $normal_list->ID; ?>
<li class="product-list">
<span class="sort-num-label"><?php echo $normal_order; ?></span>
<?php echo $normal_list->post_title; ?>
<input type="hidden" class="list_order"
name="_apop_post_normal[post_sort][<?php echo $normal_list->ID; ?>]"
value="<?php echo $normal_order; ?>">
</li>
<?php endforeach; ?>
<?php $search_none_lists = APOP_UI::get_all_search_normal_posts( 'none', 'normal', $exclude_posts ); ?>
<?php $normal_order = $normal_order ?? 0; ?>
<?php foreach ( $search_none_lists as $i => $search_list ): $normal_order = $normal_order + $i + 1; ?>
<li class="product-list no_order">&#9632;
<span class="sort-num-label"><?php echo $normal_order; ?></span>
<?php echo $search_list->post_title; ?>
<input type="hidden" class="list_order"
name="_apop_post_normal[post_sort][<?php echo $search_list->ID; ?>]"
value="<?php echo $normal_order; ?>">
</li>
<?php endforeach; ?>
</ul>
</div>
<div class="normal_sort_box">
<?php echo APOP_UI::none_registered_alert_msg(); ?>
<ul class="post-order-list">
<?php echo APOP_UI::get_all_search_normal_posts( 'normal' ); ?>
</ul>
</div>
<input type="hidden" name="submit_type" value="0">
<p class="submit post-order"><input type="submit" name="Submit" class="button-primary"
value="変更を保存"/></p>
<input type="hidden" name="submit_type" value="0">
<p class="submit post-order"><input type="submit" name="Submit" class="button-primary"
value="変更を保存"/></p>
</form>
</form>
</div>
</div>
</div>
</div>
<div class="post-order-box">
<div class="list-orders-outer">
<?php $exclude_posts = []; ?>
<div class="list-orders-inner search_inner">
<form action="" method="post">
<?php wp_nonce_field( 'sh_options' ); ?>
<ul class="apop_search_order_target"
data-search_order_target="<?php echo $apop_search_order_check; ?>">
<li><label>
<input class="apop_search_order" type="radio" name="_apop_search_order"
value="1"<?php checked( $apop_search_order_check, 1 ); ?>>標準</label></li>
<li><label>
<input class="apop_search_order" type="radio" name="_apop_search_order"
value="2"<?php checked( $apop_search_order_check, 2 ); ?>>カスタム</label></li>
</ul>
<hr>
<div class="search_sort_box">
<?php list( $list, $alert ) = APOP_UI::create_search_normal_list( 'search' ); ?>
<?php echo $alert; ?>
<ul class="post-order-list search_normal_sort">
<?php echo $list; ?>
<div class="post-order-box">
<div class="list-orders-outer">
<?php $exclude_posts = []; ?>
<div class="list-orders-inner search_inner">
<form action="" method="post">
<?php wp_nonce_field( 'sh_options' ); ?>
<ul class="apop_search_order_target"
data-search_order_target="<?php echo $apop_search_order_check; ?>">
<li><label>
<input class="apop_search_order" type="radio" name="_apop_search_order"
value="1"<?php checked( $apop_search_order_check, 1 ); ?>>標準</label></li>
<li><label>
<input class="apop_search_order" type="radio" name="_apop_search_order"
value="2"<?php checked( $apop_search_order_check, 2 ); ?>>カスタム</label></li>
</ul>
</div>
<hr>
<div class="search_sort_box">
<?php list( $list, $alert ) = APOP_UI::create_search_normal_list( 'search' ); ?>
<?php echo $alert; ?>
<ul class="post-order-list search_normal_sort">
<?php echo $list; ?>
</ul>
</div>
<div class="search_sort_box">
<?php echo APOP_UI::none_registerd_alert_msg(); ?>
<ul class="post-order-list">
<?php foreach ( $search_lists as $i => $search_list ): $search_order = $i + 1; ?>
<?php $exclude_posts[] = $search_list->ID; ?>
<li class="product-list">
<span class="sort-num-label"><?php echo $search_order; ?></span>
<?php echo $search_list->post_title; ?>
<input type="hidden" class="list_order"
name="_apop_post_search[post_sort][<?php echo $search_list->ID; ?>]"
value="<?php echo $search_order; ?>">
</li>
<?php endforeach; ?>
<?php $search_none_lists = APOP_UI::get_all_search_normal_posts( 'none', 'search', $exclude_posts ); ?>
<?php $search_order = $search_order ?? 0; ?>
<?php foreach ( $search_none_lists as $i => $search_list ): $search_order = $search_order + $i + 1; ?>
<li class="product-list no_order">&#9632;
<span class="sort-num-label"><?php echo $search_order; ?></span>
<?php echo $search_list->post_title; ?>
<input type="hidden" class="list_order"
name="_apop_post_search[post_sort][<?php echo $search_list->ID; ?>]"
value="<?php echo $search_order; ?>">
</li>
<?php endforeach; ?>
</ul>
</div>
<div class="search_sort_box">
<?php echo APOP_UI::none_registered_alert_msg(); ?>
<ul class="post-order-list">
<?php echo APOP_UI::get_all_search_normal_posts( 'search' ); ?>
</ul>
</div>
<input type="hidden" name="submit_type" value="1">
<p class="submit post-order"><input type="submit" name="Submit" class="button-primary"
value="変更を保存"/></p>
<input type="hidden" name="submit_type" value="1">
<p class="submit post-order"><input type="submit" name="Submit" class="button-primary"
value="変更を保存"/></p>
</form>
</form>
</div>
</div>
</div>
</div>
<div class="post-order-box">
<?php if ( count( $taxonomy_lists['taxonomy'] ) > 0 ): ?>
<?php echo APOP_UI::none_registerd_alert_msg(); ?>
<?php endif; ?>
<?php foreach ( $category_lists as $tax_key => $tax_list ) : ?>
<div class="list-orders-outer">
<?php if ( count( $tax_list ) > 0 ): $exclude_posts = []; ?>
<?php foreach ( $tax_list as $tax_data ): ?>
<div class="list-orders-inner">
<form action="" method="post">
<?php wp_nonce_field( 'sh_options' ); ?>
<h3><?php echo $tax_data->name; ?></h3>
<ul class="post-order-list">
<?php
list( $product_order_list, $exclude_posts, $sort_num ) = APOP_UI::create_order_list( $tax_data, $tax_key, $exclude_posts );
echo $product_order_list;
echo APOP_UI::create_product_none_order_list( $tax_data, $tax_key, $exclude_posts, $sort_num );
?>
</ul>
<input type="hidden" name="submit_type" value="2">
<p class="submit post-order"><input type="submit" name="Submit" class="button-primary"
value="変更を保存"/></p>
</form>
</div>
<?php endforeach; ?>
<?php else: ?>
<?php echo APOP_UI::create_none_select_msg( 'カテゴリー' ); ?>
<?php endif; ?>
</div>
<?php endforeach; ?>
</div>
<div class="post-order-box">
<?php if ( count( $taxonomy_lists['taxonomy'] ) > 0 ): ?>
<?php echo APOP_UI::none_registerd_alert_msg(); ?>
<?php endif; ?>
<?php foreach ( $tag_lists as $tax_key => $tax_list ) : ?>
<div class="list-orders-outer">
<?php if ( count( $tax_list ) > 0 ): $exclude_posts = []; ?>
<?php foreach ( $tax_list as $tax_data ): ?>
<div class="list-orders-inner">
<form action="" method="post">
<?php wp_nonce_field( 'sh_options' ); ?>
<h3><?php echo $tax_data->name; ?></h3>
<ul class="post-order-list">
<?php
list( $product_order_list, $exclude_posts, $sort_num ) = APOP_UI::create_order_list( $tax_data, $tax_key, $exclude_posts );
echo $product_order_list;
echo APOP_UI::create_product_none_order_list( $tax_data, $tax_key, $exclude_posts, $sort_num );
?>
</ul>
<input type="hidden" name="submit_type" value="3">
<p class="submit post-order"><input type="submit" name="Submit" class="button-primary"
value="変更を保存"/></p>
</form>
</div>
<?php endforeach; ?>
<?php else: ?>
<?php echo APOP_UI::create_none_select_msg( 'タグ' ); ?>
<?php endif; ?>
</div>
<?php endforeach; ?>
</div>
<div class="post-order-box">
<?php if ( count( $taxonomy_lists['taxonomy'] ) > 0 ): ?>
<?php echo APOP_UI::none_registerd_alert_msg(); ?>
<?php endif; ?>
<?php foreach ( $taxonomy_lists as $tax_key => $taxonomy_list ): ?>
<div class="list-orders-outer">
<?php foreach ( $taxonomy_list as $tax_list ) : ?>
<?php if ( count( $taxonomy_list ) > 0 ): $exclude_posts = []; ?>
<div class="post-order-box">
<?php foreach ( $category_lists as $tax_key => $tax_list ) : ?>
<div class="list-orders-outer">
<?php if ( count( $tax_list ) > 0 ): ?>
<?php echo APOP_UI::none_registered_alert_msg(); ?>
<?php foreach ( $tax_list as $tax_data ): ?>
<div class="list-orders-inner">
<form action="" method="post">
<?php wp_nonce_field( 'sh_options' ); ?>
<h3><?php echo $tax_data->name; ?></h3>
<ul class="post-order-list">
<?php
list( $product_order_list, $exclude_posts, $sort_num ) = APOP_UI::create_order_list( $tax_data, $tax_key, $exclude_posts );
echo $product_order_list;
echo APOP_UI::create_product_none_order_list( $tax_data, $tax_key, $exclude_posts, $sort_num );
?>
<?php echo APOP_UI::create_order_list( $tax_data, $tax_key ); ?>
</ul>
<input type="hidden" name="submit_type" value="4">
<input type="hidden" name="submit_type" value="2">
<p class="submit post-order"><input type="submit" name="Submit"
class="button-primary"
value="変更を保存"/></p>
</form>
</div>
<?php endforeach; ?>
<?php else: ?>
<?php echo APOP_UI::create_none_select_msg( 'カテゴリー' ); ?>
<?php endif; ?>
<?php endforeach; ?>
<?php if ( count( $taxonomy_lists['taxonomy'] ) == 0 ): ?>
<?php echo APOP_UI::create_none_select_msg( 'カスタム分類' ); ?>
<?php endif; ?>
</div>
<?php endforeach; ?>
</div>
<?php endforeach; ?>
</div>
<div class="post-order-box">
<?php foreach ( $tag_lists as $tax_key => $tax_list ) : ?>
<div class="list-orders-outer">
<?php if ( count( $tax_list ) > 0 ): ?>
<?php echo APOP_UI::none_registered_alert_msg(); ?>
<?php foreach ( $tax_list as $tax_data ): ?>
<div class="list-orders-inner">
<form action="" method="post">
<?php wp_nonce_field( 'sh_options' ); ?>
<h3><?php echo $tax_data->name; ?></h3>
<ul class="post-order-list">
<?php echo APOP_UI::create_order_list( $tax_data, $tax_key ); ?>
</ul>
<input type="hidden" name="submit_type" value="3">
<p class="submit post-order"><input type="submit" name="Submit"
class="button-primary"
value="変更を保存"/></p>
</form>
</div>
<?php endforeach; ?>
<?php else: ?>
<?php echo APOP_UI::create_none_select_msg( 'タグ' ); ?>
<?php endif; ?>
</div>
<?php endforeach; ?>
</div>
<div class="post-order-box">
<?php foreach ( $taxonomy_lists as $tax_key => $taxonomy_list ): ?>
<div class="list-orders-outer">
<?php foreach ( $taxonomy_list as $tax_list ) : ?>
<?php if ( count( $taxonomy_list ) > 0 ): ?>
<?php echo APOP_UI::none_registered_alert_msg(); ?>
<?php foreach ( $tax_list as $tax_data ): ?>
<div class="list-orders-inner">
<form action="" method="post">
<?php wp_nonce_field( 'sh_options' ); ?>
<h3><?php echo $tax_data->name; ?></h3>
<ul class="post-order-list">
<?php echo APOP_UI::create_order_list( $tax_data, $tax_key ); ?>
</ul>
<input type="hidden" name="submit_type" value="4">
<p class="submit post-order"><input type="submit" name="Submit"
class="button-primary"
value="変更を保存"/></p>
</form>
</div>
<?php endforeach; ?>
<?php endif; ?>
<?php endforeach; ?>
<?php if ( count( $taxonomy_lists['taxonomy'] ) == 0 ): ?>
<?php echo APOP_UI::create_none_select_msg( 'カスタム分類' ); ?>
<?php endif; ?>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
+14 -9
View File
@@ -8,10 +8,11 @@ $all_tax = APOP_UI::get_all_taxonomies( 'taxonomy' );
<form action="" method="post">
<?php
wp_nonce_field( 'sh_options' );
$opt_cat = get_option( '_apop_cat_order' );
$opt_per_page = get_option( '_apop_per_page' );
$opt_tag = get_option( '_apop_tag_order' );
$opt_tax = get_option( '_apop_tax_order' );
$opt_cat = get_option( '_apop_cat_order' );
$opt_per_page = get_option( '_apop_per_page' );
$opt_tag = get_option( '_apop_tag_order' );
$opt_tax = get_option( '_apop_tax_order' );
$default_per_page = get_option( 'posts_per_page' );
?>
<h2>設定</h2>
<table class="form-table">
@@ -25,7 +26,8 @@ $all_tax = APOP_UI::get_all_taxonomies( 'taxonomy' );
<li>
<label>
<input class="per_page_search" type="radio" name="_apop_per_page[search]"
value="default"<?php checked( $per_page_data['_per_page'], 'default' ); ?>>表示設定に従う</label>
value="default"<?php checked( $per_page_data['_per_page'], 'default' ); ?>>表示設定に従う<?php echo $default_per_page; ?>
件)</label>
</li>
<li><label>
<input class="per_page_search" type="radio" name="_apop_per_page[search]"
@@ -45,7 +47,7 @@ $all_tax = APOP_UI::get_all_taxonomies( 'taxonomy' );
</dl>
</td>
</tr>
<?php if ( count( $all_categories ) > 0 ): $disp = false; ?>
<?php if ( count( $all_categories ) > 0 ): $disp = false; ?>
<tr>
<th scope="row">カテゴリー設定</th>
<td>
@@ -82,7 +84,8 @@ $all_tax = APOP_UI::get_all_taxonomies( 'taxonomy' );
<li>
<label>
<input class="per_page_cat" type="radio" name="_apop_per_page[category]"
value="default"<?php checked( $per_page_data['_per_page'], 'default' ); ?>>表示設定に従う</label>
value="default"<?php checked( $per_page_data['_per_page'], 'default' ); ?>>表示設定に従う<?php echo $default_per_page; ?>
件)</label>
</li>
<li><label>
<input class="per_page_cat" type="radio" name="_apop_per_page[category]"
@@ -143,7 +146,8 @@ $all_tax = APOP_UI::get_all_taxonomies( 'taxonomy' );
<li>
<label>
<input class="per_page_tag" type="radio" name="_apop_per_page[tag]"
value="default"<?php checked( $per_page_data['_per_page'], 'default' ); ?>>表示設定に従う</label>
value="default"<?php checked( $per_page_data['_per_page'], 'default' ); ?>>表示設定に従う<?php echo $default_per_page; ?>
件)</label>
</li>
<li><label>
<input class="per_page_tag" type="radio" name="_apop_per_page[tag]"
@@ -207,7 +211,8 @@ $all_tax = APOP_UI::get_all_taxonomies( 'taxonomy' );
<li>
<label>
<input class="per_page_tax" type="radio" name="_apop_per_page[tax]"
value="default"<?php checked( $per_page_data['_per_page'], 'default' ); ?>>表示設定に従う</label>
value="default"<?php checked( $per_page_data['_per_page'], 'default' ); ?>>表示設定に従う<?php echo $default_per_page; ?>
件)</label>
</li>
<li><label>
<input class="per_page_tax" type="radio" name="_apop_per_page[tax]"
+1 -3
View File
@@ -1,3 +1 @@
<div class="updated fade">
<p><strong>設定を保存しました</strong></p>
</div>
<div id="settings_updated" class="updated notice is-dismissible"><p><strong>設定を保存しました</strong></p></div>