WP PLUGIN アーカイブページの投稿表示順設定

・検索と通常表示のオプションを追加
・項目の表示順を修正
・選択値によって表示/非表示の切り替えやフォームをDisabledにする等修正
・アンインストーラーを追加
This commit is contained in:
2021-05-07 21:19:14 +09:00
parent 803c742a9f
commit bacd6a1d72
8 changed files with 675 additions and 293 deletions
+114 -89
View File
@@ -16,66 +16,48 @@ $all_tax = APOP_UI::get_all_taxonomies( 'taxonomy' );
<h2>設定</h2>
<table class="form-table">
<tr>
<th scope="row">検索</th>
<th scope="row">全体設定</th>
<td>
<dl class="post_per_page_list">
<dl class="apop_setting_list">
<dt>1ページ表示件数</dt>
<dd><?php $per_page_data = APOP_UI::create_cat_per_page( $opt_per_page, 'search' ); ?>
<ul>
<li>
<label>
<input class="per_page_search" type="radio" name="_apop_per_page[search]"
value="default"<?php echo checked( $per_page_data['_per_page'], 'default' ); ?>>表示設定に従う</label>
value="default"<?php checked( $per_page_data['_per_page'], 'default' ); ?>>表示設定に従う</label>
</li>
<li><label>
<input class="per_page_search" type="radio" name="_apop_per_page[search]"
value="-1"<?php echo checked( $per_page_data['_per_page'], '-1' ); ?>>全件</label>
value="-1"<?php checked( $per_page_data['_per_page'], '-1' ); ?>>全件</label>
</li>
<li>
<label><input class="per_page_search" type="radio"
name="_apop_per_page[search]"
value="set"<?php echo $per_page_data['_set']; ?>>表示数設定
value=""<?php echo $per_page_data['_checked']; ?>>表示数設定
<input class="per_page_search_input" type="text"
name="_apop_per_page[search]"
value="<?php echo $per_page_data['_per_page_num']; ?>" required>
</label></li>
</label>
</li>
</ul>
</dd>
</dl>
</td>
</tr>
<?php if ( count( $all_categories ) > 0 ): ?>
<?php if ( count( $all_categories ) > 0 ): $disp = false; ?>
<tr>
<th scope="row">カテゴリー</th>
<th scope="row">カテゴリー設定</th>
<td>
<dl class="post_per_page_list">
<dt>1ページ表示件数</dt>
<dd><?php $per_page_data = APOP_UI::create_cat_per_page( $opt_per_page, 'category' ); ?>
<ul>
<li>
<label>
<input class="per_page_cat" type="radio" name="_apop_per_page[category]"
value="default"<?php echo checked( $per_page_data['_per_page'], 'default' ); ?>>表示設定に従う</label>
</li>
<li><label>
<input class="per_page_cat" type="radio" name="_apop_per_page[category]"
value="-1"<?php echo checked( $per_page_data['_per_page'], '-1' ); ?>>全件</label>
</li>
<li>
<label><input class="per_page_cat" type="radio"
name="_apop_per_page[category]"
value="set"<?php echo $per_page_data['_set']; ?>>表示数設定
<input class="per_page_cat_input" type="text"
name="_apop_per_page[category]"
value="<?php echo $per_page_data['_per_page_num']; ?>" required>
</label></li>
</ul>
</dd>
<dt>対象カテゴリー</dt>
<dl class="apop_setting_list">
<dt>対象</dt>
<dd>
<ul class="order_setting_list">
<?php foreach ( $all_categories as $category ): ?>
<?php $check_slug = $opt_cat['target_cat'][ $category->term_id ] ?? ''; ?>
<?php
$check_slug = $opt_cat['target_cat'][ $category->term_id ] ?? '';
APOP_UI::is_disp_per_page( $disp, $check_slug );
?>
<li>
<div class="select_cat">
<label>
@@ -84,7 +66,7 @@ $all_tax = APOP_UI::get_all_taxonomies( 'taxonomy' );
value="0">
<input type="checkbox"
name="_apop_cat_order[target_cat][<?php echo $category->term_id; ?>]"
<?php echo checked( $check_slug, 1 ); ?>
<?php checked( $check_slug, 1 ); ?>
value="1">
<?php echo $category->name; ?>
</label>
@@ -93,41 +75,51 @@ $all_tax = APOP_UI::get_all_taxonomies( 'taxonomy' );
<?php endforeach; ?>
</ul>
</dd>
<dt<?php echo APOP_UI::create_disp_class( $disp ); ?>>1ページ表示件数</dt>
<dd<?php echo APOP_UI::create_disp_class( $disp ); ?>>
<?php $per_page_data = APOP_UI::create_cat_per_page( $opt_per_page, 'category' ); ?>
<ul>
<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>
</li>
<li><label>
<input class="per_page_cat" type="radio" name="_apop_per_page[category]"
value="all"<?php checked( $per_page_data['_per_page'], 'all' ); ?>>全体設定に従う</label>
</li>
<li><label>
<input class="per_page_cat" type="radio" name="_apop_per_page[category]"
value="-1"<?php checked( $per_page_data['_per_page'], '-1' ); ?>>全件</label>
</li>
<li>
<label><input class="per_page_cat" type="radio"
name="_apop_per_page[category]"
value=""<?php echo $per_page_data['_checked']; ?>>表示数設定
<input class="per_page_cat_input" type="text"
name="_apop_per_page[category]"
value="<?php echo $per_page_data['_per_page_num']; ?>" required>
</label>
</li>
</ul>
</dd>
</dl>
</td>
</tr>
<?php endif; ?>
<?php if ( count( $all_tags ) > 0 ): ?>
<?php if ( count( $all_tags ) > 0 ): $disp = false; ?>
<tr>
<th scope="row">タグ</th>
<th scope="row">タグ設定</th>
<td>
<dl class="post_per_page_list">
<dt>1ページ表示件数</dt>
<dd><?php $per_page_data = APOP_UI::create_cat_per_page( $opt_per_page, 'tag' ); ?>
<ul>
<li>
<label>
<input class="per_page_tag" type="radio" name="_apop_per_page[tag]"
value="default"<?php echo checked( $per_page_data['_per_page'], 'default' ); ?>>表示設定に従う</label>
</li>
<li><label>
<input class="per_page_tag" type="radio" name="_apop_per_page[tag]"
value="-1"<?php echo checked( $per_page_data['_per_page'], '-1' ); ?>>全件</label>
</li>
<li>
<label><input class="per_page_tag" type="radio" name="_apop_per_page[tag]"
value="set"<?php echo $per_page_data['_set']; ?>>表示数設定
<input class="per_page_tag_input" type="text"
name="_apop_per_page[tag]"
value="<?php echo $per_page_data['_per_page_num']; ?>" required>
</label></li>
</ul>
</dd>
<dt>対象タグ</dt>
<dl class="apop_setting_list">
<dt>対象</dt>
<dd>
<ul class="order_setting_list">
<?php foreach ( $all_tags as $tag ): ?>
<?php $check_slug = $opt_tag['target_cat'][ $tag->term_id ] ?? ''; ?>
<?php
$check_slug = $opt_tag['target_cat'][ $tag->term_id ] ?? '';
APOP_UI::is_disp_per_page( $disp, $check_slug );
?>
<li>
<div class="select_cat">
<label>
@@ -136,7 +128,7 @@ $all_tax = APOP_UI::get_all_taxonomies( 'taxonomy' );
value="0">
<input type="checkbox"
name="_apop_tag_order[target_cat][<?php echo $tag->term_id; ?>]"
<?php echo checked( $check_slug, 1 ); ?>
<?php checked( $check_slug, 1 ); ?>
value="1">
<?php echo $tag->name; ?>
</label>
@@ -145,44 +137,51 @@ $all_tax = APOP_UI::get_all_taxonomies( 'taxonomy' );
<?php endforeach; ?>
</ul>
</dd>
<dt<?php echo APOP_UI::create_disp_class( $disp ); ?>>1ページ表示件数</dt>
<dd<?php echo APOP_UI::create_disp_class( $disp ); ?>><?php $per_page_data = APOP_UI::create_cat_per_page( $opt_per_page, 'tag' ); ?>
<ul>
<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>
</li>
<li><label>
<input class="per_page_tag" type="radio" name="_apop_per_page[tag]"
value="all"<?php checked( $per_page_data['_per_page'], 'all' ); ?>>全体設定に従う</label>
</li>
<li><label>
<input class="per_page_tag" type="radio" name="_apop_per_page[tag]"
value="-1"<?php checked( $per_page_data['_per_page'], '-1' ); ?>>全件</label>
</li>
<li>
<label><input class="per_page_tag" type="radio" name="_apop_per_page[tag]"
value=""<?php echo $per_page_data['_checked']; ?>>表示数設定
<input class="per_page_tag_input" type="text"
name="_apop_per_page[tag]"
value="<?php echo $per_page_data['_per_page_num']; ?>" required>
</label></li>
</ul>
</dd>
</dl>
</td>
</tr>
<?php endif; ?>
<?php if ( count( $all_tax ) > 0 ): ?>
<?php
if ( count( $all_tax ) > 0 ): $disp = false; ?>
<tr>
<th scope="row">カスタム分類</th>
<td>
<dl class="post_per_page_list">
<dt>1ページ表示件数</dt>
<dd>
<?php $per_page_data = APOP_UI::create_cat_per_page( $opt_per_page, 'tax' ); ?>
<ul>
<li>
<label>
<input class="per_page_tax" type="radio" name="_apop_per_page[tax]"
value="default"<?php echo checked( $per_page_data['_per_page'], 'default' ); ?>>表示設定に従う</label>
</li>
<li><label>
<input class="per_page_tax" type="radio" name="_apop_per_page[tax]"
value="-1"<?php echo checked( $per_page_data['_per_page'], '-1' ); ?>>全件</label>
</li>
<li>
<label><input class="per_page_tax" type="radio" name="_apop_per_page[tax]"
value="set"<?php echo $per_page_data['_set']; ?>>表示数設定
<input class="per_page_tax_input" type="text"
name="_apop_per_page[tax]"
value="<?php echo $per_page_data['_per_page_num']; ?>" required>
</label></li>
</ul>
</dd>
<dt>対象タクソノミー</dt>
<dl class="apop_setting_list">
<dt>対象</dt>
<dd>
<ul class="order_setting_list">
<?php foreach ( $all_tax as $tax ): $all_taxs = APOP_UI::get_all_taxonomies( $tax ) ?>
<?php foreach ( $all_tax as $tax ): $all_taxs = APOP_UI::get_all_taxonomies( $tax ); ?>
<?php foreach ( $all_taxs as $tax ): ?>
<?php $check_slug = $opt_tax['target_cat'][ $tax->term_id ] ?? ''; ?>
<?php
$check_slug = $opt_tax['target_cat'][ $tax->term_id ] ?? '';
APOP_UI::is_disp_per_page( $disp, $check_slug );
?>
<li>
<div class="select_cat">
<label>
@@ -191,7 +190,7 @@ $all_tax = APOP_UI::get_all_taxonomies( 'taxonomy' );
value="0">
<input type="checkbox"
name="_apop_tax_order[target_cat][<?php echo $tax->term_id; ?>]"
<?php echo checked( $check_slug, 1 ); ?>
<?php checked( $check_slug, 1 ); ?>
value="1">
<?php echo $tax->name; ?>
</label>
@@ -201,6 +200,32 @@ $all_tax = APOP_UI::get_all_taxonomies( 'taxonomy' );
<?php endforeach; ?>
</ul>
</dd>
<dt<?php echo APOP_UI::create_disp_class( $disp ); ?>>1ページ表示件数</dt>
<dd<?php echo APOP_UI::create_disp_class( $disp ); ?>>
<?php $per_page_data = APOP_UI::create_cat_per_page( $opt_per_page, 'tax' ); ?>
<ul>
<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>
</li>
<li><label>
<input class="per_page_tax" type="radio" name="_apop_per_page[tax]"
value="all"<?php checked( $per_page_data['_per_page'], 'all' ); ?>>全体設定に従う</label>
</li>
<li><label>
<input class="per_page_tax" type="radio" name="_apop_per_page[tax]"
value="-1"<?php checked( $per_page_data['_per_page'], '-1' ); ?>>全件</label>
</li>
<li>
<label><input class="per_page_tax" type="radio" name="_apop_per_page[tax]"
value=""<?php echo $per_page_data['_checked']; ?>>表示数設定
<input class="per_page_tax_input" type="text"
name="_apop_per_page[tax]"
value="<?php echo $per_page_data['_per_page_num']; ?>" required>
</label></li>
</ul>
</dd>
</dl>
</td>
</tr>