diff --git a/class/class.apop.apop_ui.php b/class/class.apop.apop_ui.php
index d7b7f1f..a041e15 100644
--- a/class/class.apop.apop_ui.php
+++ b/class/class.apop.apop_ui.php
@@ -1,9 +1,9 @@
$post_data) {
- $order = $i + 1;
- $no_order = self::is_sort_post_registered($post_data->ID, $meta_key) ? '' : ' no-order';
- echo '
'
- . '' . esc_html($order) . '' . esc_html($post_data->post_title)
+ public static function get_all_search_normal_posts( $key ) {
+ $meta_key = '_apop_post_' . $key;
+ $args = self::create_search_normal_args( $meta_key, $key );
+ $posts_data = get_posts( $args );
+ foreach ( $posts_data as $i => $post_data ) {
+ $order = $i + 1;
+ $no_order = self::is_sort_post_registered( $post_data->ID, $meta_key ) ? '' : ' no-order';
+ echo ''
+ . '' . esc_html( $order ) . '' . esc_html( $post_data->post_title )
. '
+ name="_apop_post_' . esc_attr( $key ) . '[post_sort][' . esc_attr( $post_data->ID ) . ']"
+ value="' . esc_attr( $order ) . '">
';
}
}
- private static function create_search_normal_args($meta_key, $key = 'normal'): array {
- $post_type = array('post');
- if ($key == 'search') {
- $add_post_type = array_values(get_post_types(array(
- 'public' => true,
+ private static function create_search_normal_args( $meta_key, $key = 'normal' ): array {
+ $post_type = array( 'post' );
+ if ( $key == 'search' ) {
+ $add_post_type = array_values( get_post_types( array(
+ 'public' => true,
'_builtin' => false,
)
)
);
- $post_type = array_merge($post_type, $add_post_type);
+ $post_type = array_merge( $post_type, $add_post_type );
}
return array(
- 'post_type' => $post_type,
- 'post_status' => array('publish', 'draft'),
- 'posts_per_page' => -1,
- 'orderby' => 'meta_value_num',
- 'order' => 'ASC',
- 'meta_query' => array(
+ 'post_type' => $post_type,
+ 'post_status' => array( 'publish', 'draft' ),
+ 'posts_per_page' => - 1,
+ 'orderby' => 'meta_value_num',
+ 'order' => 'ASC',
+ 'meta_query' => array(
'relation' => 'OR',
array(
- 'key' => $meta_key,
+ 'key' => $meta_key,
'compare' => 'EXISTS',
),
array(
- 'key' => $meta_key,
+ 'key' => $meta_key,
'compare' => 'NOT EXISTS',
),
),
@@ -70,339 +70,339 @@ if (!class_exists('APOP_UI')) {
}
private static function get_all_custom_posts(): array {
- $custom_posts = array_values(get_post_types(array('public' => true, '_builtin' => false)));
+ $custom_posts = array_values( get_post_types( array( 'public' => true, '_builtin' => false ) ) );
$custom_post_data = array();
- foreach ($custom_posts as $custom_post) {
- $label = get_post_type_object($custom_post)->label;
- $custom_post_data[$custom_post] = $label;
+ foreach ( $custom_posts as $custom_post ) {
+ $label = get_post_type_object( $custom_post )->label;
+ $custom_post_data[ $custom_post ] = $label;
}
return $custom_post_data;
}
- private static function get_all_taxonomies($key) {
- if ($key !== 'taxonomy') {
- return get_terms(array('taxonomy' => $key, 'get' => 'all'));
+ private static function get_all_taxonomies( $key ) {
+ if ( $key !== 'taxonomy' ) {
+ return get_terms( array( 'taxonomy' => $key, 'get' => 'all' ) );
}
- $all_custom_tax = get_taxonomies(array('public' => true, '_builtin' => false));
+ $all_custom_tax = get_taxonomies( array( 'public' => true, '_builtin' => false ) );
$custom_tax_list = array();
- foreach ($all_custom_tax as $custom_tax) {
- $custom_tax_list = array_merge($custom_tax_list, get_terms(array(
+ foreach ( $all_custom_tax as $custom_tax ) {
+ $custom_tax_list = array_merge( $custom_tax_list, get_terms( array(
'taxonomy' => $custom_tax,
- 'get' => 'all'
- )));
+ 'get' => 'all'
+ ) ) );
}
return $custom_tax_list;
}
- public static function get_cat_tag_list($target, $key): array {
- $opt = get_option('_apop_' . $target . '_order');
+ public static function get_cat_tag_list( $target, $key ): array {
+ $opt = get_option( '_apop_' . $target . '_order' );
- if (!isset($opt['target_cat'])) {
+ if ( ! isset( $opt['target_cat'] ) ) {
return array();
}
- if ($key == 'taxonomy') {
- return self::create_custom_tax_term($opt);
+ if ( $key == 'taxonomy' ) {
+ return self::create_custom_tax_term( $opt );
} else {
- return self::create_tax_term($opt, $key);
+ return self::create_tax_term( $opt, $key );
}
}
- private static function create_custom_tax_term($opt): array {
+ private static function create_custom_tax_term( $opt ): array {
$tax_data = array();
- foreach ($opt['target_cat'] as $tax_id => $status) {
+ foreach ( $opt['target_cat'] as $tax_id => $status ) {
//フラグが立っているカスタムタクソノミーは情報を取得する
- if ($status) {
- $args = array(
- 'taxonomy' => get_term($tax_id)->taxonomy,
+ if ( $status ) {
+ $args = array(
+ 'taxonomy' => get_term( $tax_id )->taxonomy,
'hide_empty' => 0,
- 'include' => $tax_id,
+ 'include' => $tax_id,
);
- $tax_data = array_merge($tax_data, get_terms($args));
+ $tax_data = array_merge( $tax_data, get_terms( $args ) );
}
}
- if (count($tax_data) > 0) {
+ if ( count( $tax_data ) > 0 ) {
return $tax_data;
}
return array();
}
- private static function create_tax_term($opt, $key) {
+ private static function create_tax_term( $opt, $key ) {
$include = array();
- foreach ($opt['target_cat'] as $tax_id => $status) {
+ foreach ( $opt['target_cat'] as $tax_id => $status ) {
//フラグが立っているタクソノミーIDを取得
- if ($status) {
+ if ( $status ) {
$include[] = $tax_id;
}
}
- $include_tax = implode(',', $include);
- if (!empty($include_tax)) {
+ $include_tax = implode( ',', $include );
+ if ( ! empty( $include_tax ) ) {
$args = array(
- 'taxonomy' => $key,
+ 'taxonomy' => $key,
'hide_empty' => 0,
- 'include' => $include_tax,
+ 'include' => $include_tax,
);
- return get_terms($args);
+ return get_terms( $args );
}
return array();
}
- public static function create_order_list($tax_data, $tax_key): string {
- $return_data = self::get_sort_post_list($tax_data->term_id, $tax_key, $tax_data->taxonomy);
- $list = array();
- foreach ($return_data['data'] as $key => $target_post) {
+ public static function create_order_list( $tax_data, $tax_key ): string {
+ $return_data = self::get_sort_post_list( $tax_data->term_id, $tax_key, $tax_data->taxonomy );
+ $list = array();
+ foreach ( $return_data['data'] as $key => $target_post ) {
$sort_num = $key + 1;
- $no_order = self::is_sort_post_registered($target_post->ID, $return_data['meta_key']) ? '' : ' no-order';
- $list[] = '
-' . '' . esc_html($sort_num) . '' . get_the_title($target_post->ID) . '
+ $no_order = self::is_sort_post_registered( $target_post->ID, $return_data['meta_key'] ) ? '' : ' no-order';
+ $list[] = '
+' . '' . esc_html( $sort_num ) . '' . get_the_title( $target_post->ID ) . '
taxonomy, $tax_key)) . '[post_sort][' . esc_html($tax_data->term_id) . '][' . esc_html($target_post->ID) . ']"
-value="' . esc_html($sort_num) . '">
+name="_apop_post_' . esc_html( self::create_post_sort_key( $tax_data->taxonomy, $tax_key ) ) . '[post_sort][' . esc_html( $tax_data->term_id ) . '][' . esc_html( $target_post->ID ) . ']"
+value="' . esc_html( $sort_num ) . '">
';
}
- return implode(PHP_EOL, $list);
+ return implode( PHP_EOL, $list );
}
- private static function is_sort_post_registered($id, $key): bool {
- if (get_post_meta($id, $key, true)) {
+ private static function is_sort_post_registered( $id, $key ): bool {
+ if ( get_post_meta( $id, $key, true ) ) {
return true;
}
return false;
}
- private static function get_sort_post_list($tax_id, $search_param, $tax_name): array {
- $post_types = array('post');
- $custom_post_types = array_values(get_post_types(array('public' => true, '_builtin' => false)));
- $args = array(
- 'post_type' => array_merge($post_types, $custom_post_types),
- 'post_status' => array('publish', 'draft'),
- 'posts_per_page' => -1,
- 'orderby' => 'meta_value_num',
- 'order' => 'ASC',
+ private static function get_sort_post_list( $tax_id, $search_param, $tax_name ): array {
+ $post_types = array( 'post' );
+ $custom_post_types = array_values( get_post_types( array( 'public' => true, '_builtin' => false ) ) );
+ $args = array(
+ 'post_type' => array_merge( $post_types, $custom_post_types ),
+ 'post_status' => array( 'publish', 'draft' ),
+ 'posts_per_page' => - 1,
+ 'orderby' => 'meta_value_num',
+ 'order' => 'ASC',
);
- $meta_key = '_apop_post_' . self::create_post_sort_key($tax_name, $search_param) . '_' . $tax_id;
- self::create_sort_post_list_meta_query($args, $meta_key);
- self::create_post_tax_query($args, $search_param, $tax_name, $tax_id);
+ $meta_key = '_apop_post_' . self::create_post_sort_key( $tax_name, $search_param ) . '_' . $tax_id;
+ self::create_sort_post_list_meta_query( $args, $meta_key );
+ self::create_post_tax_query( $args, $search_param, $tax_name, $tax_id );
return array(
'meta_key' => $meta_key,
- 'data' => get_posts($args)
+ 'data' => get_posts( $args )
);
}
- private static function create_sort_post_list_meta_query(&$args, $meta_key) {
+ private static function create_sort_post_list_meta_query( &$args, $meta_key ) {
$args['meta_query'] = array(
'relation' => 'OR',
array(
- 'key' => $meta_key,
+ 'key' => $meta_key,
'compare' => 'EXISTS',
),
array(
- 'key' => $meta_key,
+ 'key' => $meta_key,
'compare' => 'NOT EXISTS',
),
);
}
- public static function create_post_sort_key($tax_name, $tax_key) {
- if ($tax_key == 'taxonomy') {
+ public static function create_post_sort_key( $tax_name, $tax_key ) {
+ if ( $tax_key == 'taxonomy' ) {
return 'tax';
}
return $tax_name;
}
- private static function create_post_tax_query(&$args, $key, $tax_name, $tax_id) {
- if ($key == 'taxonomy') {
+ private static function create_post_tax_query( &$args, $key, $tax_name, $tax_id ) {
+ if ( $key == 'taxonomy' ) {
$args['tax_query'] = array(
array(
- 'taxonomy' => $tax_name,
- 'field' => 'term_id',
- 'terms' => $tax_id,
+ 'taxonomy' => $tax_name,
+ 'field' => 'term_id',
+ 'terms' => $tax_id,
'include_children' => false
)
);
} else {
- $args[$key] = $tax_id;
+ $args[ $key ] = $tax_id;
}
}
- public static function create_cat_per_page($opt_per_page, $type): array {
- $cat_per_page = $opt_per_page[$type] ?? 'default';
- $checked = '';
+ public static function create_cat_per_page( $opt_per_page, $type ): array {
+ $cat_per_page = $opt_per_page[ $type ] ?? 'default';
+ $checked = '';
$cat_per_page_num = '';
- if (isset($opt_per_page[$type])) {
- if ($opt_per_page[$type] != 'default'
- && $opt_per_page[$type] != '-1'
- && $opt_per_page[$type] != 'all') {
- $checked = ' checked="checked"';
+ if ( isset( $opt_per_page[ $type ] ) ) {
+ if ( $opt_per_page[ $type ] != 'default'
+ && $opt_per_page[ $type ] != '-1'
+ && $opt_per_page[ $type ] != 'all' ) {
+ $checked = ' checked="checked"';
$cat_per_page_num = $cat_per_page;
}
}
return array(
- '_per_page' => $cat_per_page,
- '_checked' => $checked,
+ '_per_page' => $cat_per_page,
+ '_checked' => $checked,
'_per_page_num' => $cat_per_page_num,
);
}
- public static function disp_tax_setting($key, $title, $order_name) {
- $tax_data = APOP_UI::get_all_taxonomies($key);
- if (count($tax_data) > 0) {
+ public static function disp_tax_setting( $key, $title, $order_name ) {
+ $tax_data = APOP_UI::get_all_taxonomies( $key );
+ if ( count( $tax_data ) > 0 ) {
$order_tax = $key == 'post_tag' ? 'tag' : $key;
- echo '| ' . esc_html($title) . ' | ';
- if (isset($tax_data, $order_name, $order_tax)) {
+ echo ' |
|---|
| ' . esc_html( $title ) . ' | ';
+ if ( isset( $tax_data, $order_name, $order_tax ) ) {
include APOP_PLUGIN_PATH . 'template/setting_parts_taxonomy.php';
}
echo ' |
';
}
}
- public static function disp_customposts_setting($key, $title, $order_name) {
+ public static function disp_customposts_setting( $key, $title, $order_name ) {
$custom_post_data = APOP_UI::get_all_custom_posts();
- if (count($custom_post_data) > 0) {
- echo '| ' . esc_html($title) . ' | ';
- if (isset($custom_post_data, $order_name, $key)) {
+ if ( count( $custom_post_data ) > 0 ) {
+ echo ' |
|---|
| ' . esc_html( $title ) . ' | ';
+ if ( isset( $custom_post_data, $order_name, $key ) ) {
include APOP_PLUGIN_PATH . 'template/setting_parts_customposts.php';
}
echo ' |
';
}
}
- public static function create_custom_posts_per_page($opt_per_page, $type, $slug): array {
- $cat_per_page = $opt_per_page[$type][$slug] ?? 'default';
- $checked = '';
+ public static function create_custom_posts_per_page( $opt_per_page, $type, $slug ): array {
+ $cat_per_page = $opt_per_page[ $type ][ $slug ] ?? 'default';
+ $checked = '';
$cat_per_page_num = '';
- if (isset($opt_per_page[$type][$slug])) {
- if ($opt_per_page[$type][$slug] != 'default'
- && $opt_per_page[$type][$slug] != '-1'
- && $opt_per_page[$type][$slug] != 'all') {
- $checked = ' checked="checked"';
+ if ( isset( $opt_per_page[ $type ][ $slug ] ) ) {
+ if ( $opt_per_page[ $type ][ $slug ] != 'default'
+ && $opt_per_page[ $type ][ $slug ] != '-1'
+ && $opt_per_page[ $type ][ $slug ] != 'all' ) {
+ $checked = ' checked="checked"';
$cat_per_page_num = $cat_per_page;
}
}
return array(
- '_per_page' => $cat_per_page,
- '_checked' => $checked,
+ '_per_page' => $cat_per_page,
+ '_checked' => $checked,
'_per_page_num' => $cat_per_page_num,
);
}
- public static function create_tax_per_page($opt_per_page, $type, $id): array {
- $cat_per_page = $opt_per_page[$type][$id] ?? 'default';
- $checked = '';
+ public static function create_tax_per_page( $opt_per_page, $type, $id ): array {
+ $cat_per_page = $opt_per_page[ $type ][ $id ] ?? 'default';
+ $checked = '';
$cat_per_page_num = '';
- if (isset($opt_per_page[$type][$id])) {
- if ($opt_per_page[$type][$id] != 'default'
- && $opt_per_page[$type][$id] != '-1'
- && $opt_per_page[$type][$id] != 'all') {
- $checked = ' checked="checked"';
+ if ( isset( $opt_per_page[ $type ][ $id ] ) ) {
+ if ( $opt_per_page[ $type ][ $id ] != 'default'
+ && $opt_per_page[ $type ][ $id ] != '-1'
+ && $opt_per_page[ $type ][ $id ] != 'all' ) {
+ $checked = ' checked="checked"';
$cat_per_page_num = $cat_per_page;
}
}
return array(
- '_per_page' => $cat_per_page,
- '_checked' => $checked,
+ '_per_page' => $cat_per_page,
+ '_checked' => $checked,
'_per_page_num' => $cat_per_page_num,
);
}
- public static function create_search_normal_list($type, $id = null) {
- $name_keys = self::create_name_keys($id, $type);
- $name_key = $name_keys['name_key'];
- $get_option_key = $name_keys['get_option_key'];
- $order_param_base = get_option($get_option_key);
- $order_param = '';
- if (is_null($id)) {
+ public static function create_search_normal_list( $type, $id = null ) {
+ $name_keys = self::create_name_keys( $id, $type );
+ $name_key = $name_keys['name_key'];
+ $get_option_key = $name_keys['get_option_key'];
+ $order_param_base = get_option( $get_option_key );
+ $order_param = '';
+ if ( is_null( $id ) ) {
$order_param = $order_param_base;
}
- if (isset($order_param_base[$id])) {
- $order_param = $order_param_base[$id];
+ if ( isset( $order_param_base[ $id ] ) ) {
+ $order_param = $order_param_base[ $id ];
}
- self::create_normal_sort_list($name_key, $order_param);
+ self::create_normal_sort_list( $name_key, $order_param );
}
- private static function create_custom_field_sort_type($name_key, $target_key, $cnv_order_params) {
- $meta_key = $cnv_order_params[$target_key]['meta_key'];
- $value_type = $cnv_order_params[$target_key]['value_type'];
- $custom_field_type = $cnv_order_params[$target_key]['custom_field_type'];
- $name_meta_key = '_' . $name_key . '[' . $target_key . '][field][meta_key]';
- $name_value_type = '_' . $name_key . '[' . $target_key . '][field][value_type]';
+ private static function create_custom_field_sort_type( $name_key, $target_key, $cnv_order_params ) {
+ $meta_key = $cnv_order_params[ $target_key ]['meta_key'];
+ $value_type = $cnv_order_params[ $target_key ]['value_type'];
+ $custom_field_type = $cnv_order_params[ $target_key ]['custom_field_type'];
+ $name_meta_key = '_' . $name_key . '[' . $target_key . '][field][meta_key]';
+ $name_value_type = '_' . $name_key . '[' . $target_key . '][field][value_type]';
$name_custom_field_type = '_' . $name_key . '[' . $target_key . '][field][custom_field_type]';
- $custom_field_val_1 = $custom_field_type == '1' ? $meta_key : '';
- $custom_field_val_2 = $custom_field_type == '2' ? $meta_key : '';
+ $custom_field_val_1 = $custom_field_type == '1' ? $meta_key : '';
+ $custom_field_val_2 = $custom_field_type == '2' ? $meta_key : '';
echo '
-
' . __('Type', APOP_DOMAIN) . ':
+
' . __( 'Type', APOP_DOMAIN ) . ':
+ name="' . esc_attr( $name_value_type ) . '"
+ value="meta_value"' . esc_attr( self::set_search_normal_checked( $value_type, 'meta_value' ) ) . '>' . __( 'Text', APOP_DOMAIN ) . '
+ name="' . esc_attr( $name_value_type ) . '"
+ value="meta_value_num"' . esc_attr( self::set_search_normal_checked( $value_type, 'meta_value_num' ) ) . '>' . __( 'Number', APOP_DOMAIN ) . '
';
}
- private static function set_order_list_param($order_param, $target_key): array {
+ private static function set_order_list_param( $order_param, $target_key ): array {
$param = array(
- 'use' => 0,
- 'sort' => 2,
+ 'use' => 0,
+ 'sort' => 2,
'no_order_class' => ' no-order',
);
- if (strpos($target_key, 'custom_field') !== false) {
- $param[$target_key] = array(
- 'meta_key' => '',
- 'value_type' => 'meta_value',
+ if ( strpos( $target_key, 'custom_field' ) !== false ) {
+ $param[ $target_key ] = array(
+ 'meta_key' => '',
+ 'value_type' => 'meta_value',
'custom_field_type' => '1',
);
}
- if (isset($order_param[$target_key])) {
+ if ( isset( $order_param[ $target_key ] ) ) {
$param = array(
- 'use' => $order_param[$target_key]['use'] ?? 0,
- 'sort' => $order_param[$target_key]['sort'] ?? 2,
- 'no_order_class' => !$order_param[$target_key]['use'] ? ' no-order' : '',
+ 'use' => $order_param[ $target_key ]['use'] ?? 0,
+ 'sort' => $order_param[ $target_key ]['sort'] ?? 2,
+ 'no_order_class' => ! $order_param[ $target_key ]['use'] ? ' no-order' : '',
);
- if (strpos($target_key, 'custom_field') !== false) {
- $param[$target_key] = array(
- 'meta_key' => $order_param[$target_key]['field']['meta_key'] ?? '',
- 'value_type' => $order_param[$target_key]['field']['value_type'] ?? 'meta_value',
- 'custom_field_type' => $order_param[$target_key]['field']['custom_field_type'] ?? '1',
+ if ( strpos( $target_key, 'custom_field' ) !== false ) {
+ $param[ $target_key ] = array(
+ 'meta_key' => $order_param[ $target_key ]['field']['meta_key'] ?? '',
+ 'value_type' => $order_param[ $target_key ]['field']['value_type'] ?? 'meta_value',
+ 'custom_field_type' => $order_param[ $target_key ]['field']['custom_field_type'] ?? '1',
);
}
}
@@ -411,21 +411,21 @@ value="' . esc_html($sort_num) . '">
}
- private static function create_name_keys($id, $type): array {
- if (is_null($id)) {
+ private static function create_name_keys( $id, $type ): array {
+ if ( is_null( $id ) ) {
return array(
- 'name_key' => 'apop_' . $type . '_order_param',
+ 'name_key' => 'apop_' . $type . '_order_param',
'get_option_key' => '_' . 'apop_' . $type . '_order_param',
);
} else {
return array(
- 'name_key' => 'apop_tax_order_param[' . $id . ']',
+ 'name_key' => 'apop_tax_order_param[' . $id . ']',
'get_option_key' => '_apop_tax_order_param',
);
}
}
- private static function set_search_normal_target_keys($post_apop_search_order_param): array {
+ private static function set_search_normal_target_keys( $post_apop_search_order_param ): array {
$set_keys = array(
'date',
@@ -438,77 +438,98 @@ value="' . esc_html($sort_num) . '">
'custom_field_4',
);
- if ($post_apop_search_order_param) {
- $register_keys = array_keys($post_apop_search_order_param);
+ if ( $post_apop_search_order_param ) {
+ $register_keys = array_keys( $post_apop_search_order_param );
- return array_unique(array_merge($register_keys, $set_keys));
+ return array_unique( array_merge( $register_keys, $set_keys ) );
}
return $set_keys;
}
- private static function set_search_normal_checked($param, $default): string {
- if ($param == $default) {
+ private static function set_search_normal_checked( $param, $default ): string {
+ if ( $param == $default ) {
return ' checked="checked"';
}
+
return '';
}
- public static function input_post_filter($var_name, $type) {
- if ($type == 'array') {
- return filter_input(INPUT_POST, $var_name, FILTER_SANITIZE_STRING, FILTER_REQUIRE_ARRAY);
+ /**
+ * POSTデータのフィルタリングを行います。
+ *
+ * @param string $var_name 取得するPOST変数名。
+ * @param string $type 'array' または 'str' を指定します。
+ *
+ * @return array|string フィルタリングされたPOSTデータ、または失敗した場合は空文字列。
+ */
+ public static function input_post_filter( $var_name, $type ) {
+ if ( $type == 'array' ) {
+ $data = filter_input( INPUT_POST, $var_name, FILTER_DEFAULT, FILTER_REQUIRE_ARRAY );
+ if ( is_array( $data ) ) {
+ array_walk_recursive( $data, function ( &$value ) {
+ $value = htmlspecialchars( $value, ENT_QUOTES, 'UTF-8' );
+ } );
+ return $data;
+ }
+ return [];
}
- if ($type == 'str') {
- return filter_input(INPUT_POST, $var_name, FILTER_SANITIZE_STRING);
+ if ( $type == 'str' ) {
+ $data = filter_input( INPUT_POST, $var_name );
+ if ( $data !== null && $data !== false ) {
+ return htmlspecialchars( $data, ENT_QUOTES, 'UTF-8' );
+ }
+ return '';
}
+
return '';
}
- public static function create_normal_sort_list($name_key, $order_param) {
- $target_keys = self::set_search_normal_target_keys($order_param);
+ public static function create_normal_sort_list( $name_key, $order_param ) {
+ $target_keys = self::set_search_normal_target_keys( $order_param );
$target_values = array(
- 'date' => __('Published', APOP_DOMAIN),
- 'title' => __('Post Title', APOP_DOMAIN),
- 'ID' => 'ID',
- 'modified' => __('Modified', APOP_DOMAIN),
- 'custom_field' => __('Custom filed 1', APOP_DOMAIN),
- 'custom_field_2' => __('Custom filed 2', APOP_DOMAIN),
- 'custom_field_3' => __('Custom filed 3', APOP_DOMAIN),
- 'custom_field_4' => __('Custom filed 4', APOP_DOMAIN),
+ 'date' => __( 'Published', APOP_DOMAIN ),
+ 'title' => __( 'Post Title', APOP_DOMAIN ),
+ 'ID' => 'ID',
+ 'modified' => __( 'Modified', APOP_DOMAIN ),
+ 'custom_field' => __( 'Custom filed 1', APOP_DOMAIN ),
+ 'custom_field_2' => __( 'Custom filed 2', APOP_DOMAIN ),
+ 'custom_field_3' => __( 'Custom filed 3', APOP_DOMAIN ),
+ 'custom_field_4' => __( 'Custom filed 4', APOP_DOMAIN ),
);
- foreach ($target_keys as $target_key) {
- $cnv_order_params = self::set_order_list_param($order_param, $target_key);
- $use = $cnv_order_params['use'];
- $sort = $cnv_order_params['sort'];
- $no_order_class = $cnv_order_params['no_order_class'];
- $name_use_key = '_' . $name_key . '[' . $target_key . '][use]';
- $name_sort_key = '_' . $name_key . '[' . $target_key . '][sort]';
- if (strpos($target_key, 'custom_field') !== false) {
+ foreach ( $target_keys as $target_key ) {
+ $cnv_order_params = self::set_order_list_param( $order_param, $target_key );
+ $use = $cnv_order_params['use'];
+ $sort = $cnv_order_params['sort'];
+ $no_order_class = $cnv_order_params['no_order_class'];
+ $name_use_key = '_' . $name_key . '[' . $target_key . '][use]';
+ $name_sort_key = '_' . $name_key . '[' . $target_key . '][sort]';
+ if ( strpos( $target_key, 'custom_field' ) !== false ) {
$target_key_check_class = 'custom_field_check';
} else {
$target_key_check_class = 'sort_' . $target_key . '_check';
}
- echo '
- ' . esc_attr($target_values[$target_key]) . '
+ echo '
+ ' . esc_attr( $target_values[ $target_key ] ) . '
+ name="' . esc_attr( $name_sort_key ) . '"
+ value="1"' . esc_attr( self::set_search_normal_checked( $sort, 1 ) ) . '>' . __( 'Asc', APOP_DOMAIN ) . '
';
+ name="' . esc_attr( $name_sort_key ) . '"
+ value="2"' . esc_attr( self::set_search_normal_checked( $sort, 2 ) ) . '>' . __( 'Desc', APOP_DOMAIN ) . '';
- if (strpos($target_key, 'custom_field') !== false) {
- self::create_custom_field_sort_type($name_key, $target_key, $cnv_order_params);
+ if ( strpos( $target_key, 'custom_field' ) !== false ) {
+ self::create_custom_field_sort_type( $name_key, $target_key, $cnv_order_params );
}
echo '
diff --git a/readme.txt b/readme.txt
index 815294d..144704d 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,10 +1,10 @@
=== Archive Post Order Plus ===
Contributors: nbk45
Tags: latest posts order,categories post order,tags post order,custom taxonomy post order
-Requires at least: 4.9
-Tested up to: 6.5
-Requires PHP: 7.4
-Stable tag: 1.2.3
+Requires at least: 6.7
+Tested up to: 6.9
+Requires PHP: 8.3
+Stable tag: 1.2.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
@@ -82,6 +82,10 @@ screenshot-7.png
screenshot-8.png
== Changelog ==
+= 1.2.4 =
+・WordPress6.9動作確認
+・PHP8.3対応修正
+
= 1.2.3 =
confirm WordPress6.5
diff --git a/util/apop-customfield-select.php b/util/apop-customfield-select.php
index 463d3d1..661e50d 100644
--- a/util/apop-customfield-select.php
+++ b/util/apop-customfield-select.php
@@ -1,35 +1,35 @@
admin_url( 'admin-ajax.php' ),
- 'action' => 'set_custom_field',
- ];
- wp_localize_script( $handle, 'localize', $localize );
- wp_enqueue_script( $handle );
- }
+ public function set_custom_field_ajax() {
+ $handle = 'custom_field_ajax';
+ wp_register_script( $handle, APOP_PLUGIN_URL . 'js/custom_field.js', [ 'jquery' ], '', true );
+ $localize = [
+ 'ajax_url' => admin_url( 'admin-ajax.php' ),
+ 'action' => 'set_custom_field',
+ ];
+ wp_localize_script( $handle, 'localize', $localize );
+ wp_enqueue_script( $handle );
+ }
- public function set_custom_field() {
- $param = filter_input( INPUT_GET, 'param', FILTER_SANITIZE_STRING );
- echo json_encode( $this->get_custom_fields_by_param( $param ) );
- die();
- }
+ public function set_custom_field() {
+ $param = filter_input( INPUT_GET, 'param', FILTER_DEFAULT );
+ echo json_encode( $this->get_custom_fields_by_param( $param ) );
+ die();
+ }
- private function get_custom_fields_by_param( $param ) {
- global $wpdb;
- $stmnt = "SELECT DISTINCT meta_key AS value, meta_key as label FROM $wpdb->postmeta WHERE meta_key LIKE %s AND meta_key NOT LIKE %s";
+ private function get_custom_fields_by_param( $param ) {
+ global $wpdb;
+ $stmnt = "SELECT DISTINCT meta_key AS value, meta_key as label FROM $wpdb->postmeta WHERE meta_key LIKE %s AND meta_key NOT LIKE %s";
- return $wpdb->get_results( $wpdb->prepare( $stmnt, $wpdb->esc_like( $param ) . '%', $wpdb->esc_like( '_%' ) ) );
- }
+ return $wpdb->get_results( $wpdb->prepare( $stmnt, $wpdb->esc_like( $param ) . '%', $wpdb->esc_like( '_%' ) ) );
+ }
- }
+ }
}
\ No newline at end of file