| ... | ... |
@@ -27,14 +27,17 @@ class Class_Rucy_Setting {
|
| 27 | 27 |
$is_different = true; |
| 28 | 28 |
} |
| 29 | 29 |
$is_update = $component->update_support_post_type( $post_support_posts ); |
| 30 |
- if ( $is_different && $is_update ) {
|
|
| 31 |
- // 更新完了 |
|
| 32 |
- } else if ( $is_different && !$is_update ) {
|
|
| 30 |
+ if ( ( $is_different === false && $is_update === false ) || ( $is_different && $is_update ) ) {
|
|
| 31 |
+ // 更新完了 or 同じ値で更新した |
|
| 32 |
+ set_transient( RC_SETTING_UPDATE, array( __( 'Success to setting update.', RC_TXT_DOMAIN ) ), 10 ); |
|
| 33 |
+ } else if ( $is_different && $is_update === false ) {
|
|
| 33 | 34 |
// 更新失敗 |
| 34 |
- } else if ( !$is_different && !$is_update ) {
|
|
| 35 |
- // 同じ値で更新した |
|
| 35 |
+ $e = new WP_Error(); |
|
| 36 |
+ $e->add( 'error', __( 'Failed to setting update.', RC_TXT_DOMAIN ) ); |
|
| 37 |
+ set_transient( RC_SETTING_ERROR, $e->get_error_messages(), 10 ); |
|
| 36 | 38 |
} |
| 37 | 39 |
$support_post_type = $component->get_support_post_type(); |
| 40 |
+ wp_safe_redirect( menu_page_url( 'rucy', false ) ); |
|
| 38 | 41 |
} |
| 39 | 42 |
?> |
| 40 | 43 |
<div class="wrap"> |
| ... | ... |
@@ -44,7 +47,7 @@ class Class_Rucy_Setting {
|
| 44 | 44 |
<?php wp_nonce_field('update-options'); ?>
|
| 45 | 45 |
<table class="form-table"> |
| 46 | 46 |
<tr class=""> |
| 47 |
- <th><?php _e( 'post type', RC_TXT_DOMAIN ); ?><br><small>*<?php _e( 'Require', RC_TXT_DOMAIN ); ?></small></th> |
|
| 47 |
+ <th><?php _e( 'post type', RC_TXT_DOMAIN ); ?></th> |
|
| 48 | 48 |
<td> |
| 49 | 49 |
<ul> |
| 50 | 50 |
<?php foreach ( $post_types as $key => $post_type ) {
|
| ... | ... |
@@ -65,4 +68,22 @@ class Class_Rucy_Setting {
|
| 65 | 65 |
</div> |
| 66 | 66 |
<?php |
| 67 | 67 |
} |
| 68 |
+ |
|
| 69 |
+ public function set_admin_notices() {
|
|
| 70 |
+ $message_class = ""; |
|
| 71 |
+ if ( $messages = get_transient( RC_SETTING_UPDATE ) ) {
|
|
| 72 |
+ $message_class = 'updated'; |
|
| 73 |
+ } else if ( $messages = get_transient( RC_SETTING_ERROR ) ) {
|
|
| 74 |
+ $message_class = 'error'; |
|
| 75 |
+ } |
|
| 76 |
+?> |
|
| 77 |
+<div class="<?php echo $message_class; ?>"> |
|
| 78 |
+ <ul> |
|
| 79 |
+ <?php foreach ( $messages as $message ): ?> |
|
| 80 |
+ <li><?php echo esc_html( $message ); ?></li> |
|
| 81 |
+ <?php endforeach; ?> |
|
| 82 |
+ </ul> |
|
| 83 |
+</div> |
|
| 84 |
+<?php |
|
| 85 |
+ } |
|
| 68 | 86 |
} |
| ... | ... |
@@ -14,6 +14,8 @@ define( 'RC_PLUGIN_DIR', untrailingslashit( dirname( __FILE__ ) ) ); |
| 14 | 14 |
define( 'RC_SETTING_OPTION_KEY', 'rucy_post_type' ); |
| 15 | 15 |
define( 'RC_TXT_DOMAIN', 'rucy' ); |
| 16 | 16 |
define( 'RC_CRON_HOOK', 'rucy_update_reserved_content' ); |
| 17 |
+define( 'RC_SETTING_UPDATE', 'rucy_setting_update' ); |
|
| 18 |
+define( 'RC_SETTING_ERROR', 'rucy_setting_error' ); |
|
| 17 | 19 |
load_plugin_textdomain( RC_TXT_DOMAIN, false, 'rucy/lang' ); |
| 18 | 20 |
|
| 19 | 21 |
require_once RC_PLUGIN_DIR . '/inc/class-rucy-component.php'; |
| ... | ... |
@@ -28,6 +30,7 @@ class Rucy_Class {
|
| 28 | 28 |
add_action( 'wp_admin', array( $this, 'enqueue_pointer_menu' ) ); |
| 29 | 29 |
$setting = new Class_Rucy_Setting(); |
| 30 | 30 |
add_action( 'admin_menu', array( $setting, 'set_admin_menu' ) ); |
| 31 |
+ add_action( 'admin_notices', array( $setting, 'set_admin_notices' ) ); |
|
| 31 | 32 |
} |
| 32 | 33 |
|
| 33 | 34 |
public function activate_plugin() {
|