Plugin Directory

Changeset 3448934


Ignore:
Timestamp:
01/28/2026 06:11:20 PM (2 months ago)
Author:
solankisoftware
Message:

Fixed plugin conflict issue and improve admin design

Location:
quickview-instant-product-preview
Files:
88 added
4 edited

Legend:

Unmodified
Added
Removed
  • quickview-instant-product-preview/trunk/admin/admin.php

    r3387900 r3448934  
    7979
    8080        // Save settings.
    81         if ( isset( $_POST['qvipp_button_lable'] ) && check_admin_referer( 'qvipp-admin-nonce', 'qvipp_nonce_field' ) ) {
     81        if ( 'POST' === $_SERVER['REQUEST_METHOD'] && isset( $_POST['qvipp_nonce_field'] ) && check_admin_referer( 'qvipp-admin-nonce', 'qvipp_nonce_field' ) ) {
    8282
    8383            // Sanitize array options.
     
    9797            // General options.
    9898            $data = array(
    99                 'qvipp_enable_quick_view'       => isset( $_POST['qvipp_enable_quick_view'] ) ? '1' : '0',
    100                 'qvipp_enable_mobile'           => isset( $_POST['qvipp_enable_mobile'] ) ? '1' : '0',
    101                 'qvipp_button_lable'            => sanitize_text_field( wp_unslash( $_POST['qvipp_button_lable'] ) ),
    102                 'qvipp_quick_view_btn_position' => sanitize_text_field( wp_unslash( $_POST['qvipp_quick_view_btn_position'] ) ),
    103                 'qvipp_view_product_detail'     => isset( $_POST['qvipp_view_product_detail'] ) ? '1' : '0',
    104                 'qvipp_view_product_detail_text'=> sanitize_text_field( wp_unslash( $_POST['qvipp_view_product_detail_text'] ) ),
     99                'qvipp_enable_quick_view'        => isset( $_POST['qvipp_enable_quick_view'] ) ? '1' : '0',
     100                'qvipp_enable_mobile'            => isset( $_POST['qvipp_enable_mobile'] ) ? '1' : '0',
     101                'qvipp_button_lable'             => isset( $_POST['qvipp_button_lable'] ) ? sanitize_text_field( wp_unslash( $_POST['qvipp_button_lable'] ) ) : '',
     102                'qvipp_quick_view_btn_position'  => isset( $_POST['qvipp_quick_view_btn_position'] ) ? sanitize_text_field( wp_unslash( $_POST['qvipp_quick_view_btn_position'] ) ) : 'after_image',
     103                'qvipp_view_product_detail'      => isset( $_POST['qvipp_view_product_detail'] ) ? '1' : '0',
     104                'qvipp_view_product_detail_text' => isset( $_POST['qvipp_view_product_detail_text'] ) ? sanitize_text_field( wp_unslash( $_POST['qvipp_view_product_detail_text'] ) ) : '',
    105105            );
    106106
     
    109109            // Style options.
    110110            $style = array(
    111                 'qvipp_modal_bg'                   => sanitize_text_field( wp_unslash( $_POST['qvipp_modal_bg'] ) ),
    112                 'qvipp_close_btn'                  => sanitize_text_field( wp_unslash( $_POST['qvipp_close_btn'] ) ),
    113                 'qvipp_close_btn_bg'               => sanitize_text_field( wp_unslash( $_POST['qvipp_close_btn_bg'] ) ),
    114                 'qvipp_navigation_bg'              => sanitize_text_field( wp_unslash( $_POST['qvipp_navigation_bg'] ) ),
    115                 'qvipp_navigation_txt'             => sanitize_text_field( wp_unslash( $_POST['qvipp_navigation_txt'] ) ),
    116                 'qvipp_product_detail_btn_color'   => sanitize_text_field( wp_unslash( $_POST['qvipp_product_detail_btn_color'] ) ),
    117                 'qvipp_quick_view_btn_lable_color' => sanitize_text_field( wp_unslash( $_POST['qvipp_quick_view_btn_lable_color'] ) ),
     111                'qvipp_modal_bg'                   => isset( $_POST['qvipp_modal_bg'] ) ? sanitize_text_field( wp_unslash( $_POST['qvipp_modal_bg'] ) ) : '',
     112                'qvipp_close_btn'                  => isset( $_POST['qvipp_close_btn'] ) ? sanitize_text_field( wp_unslash( $_POST['qvipp_close_btn'] ) ) : '',
     113                'qvipp_close_btn_bg'               => isset( $_POST['qvipp_close_btn_bg'] ) ? sanitize_text_field( wp_unslash( $_POST['qvipp_close_btn_bg'] ) ) : '',
     114                'qvipp_navigation_bg'              => isset( $_POST['qvipp_navigation_bg'] ) ? sanitize_text_field( wp_unslash( $_POST['qvipp_navigation_bg'] ) ) : '',
     115                'qvipp_navigation_txt'             => isset( $_POST['qvipp_navigation_txt'] ) ? sanitize_text_field( wp_unslash( $_POST['qvipp_navigation_txt'] ) ) : '',
     116                'qvipp_product_detail_btn_color'   => isset( $_POST['qvipp_product_detail_btn_color'] ) ? sanitize_text_field( wp_unslash( $_POST['qvipp_product_detail_btn_color'] ) ) : '',
     117                'qvipp_quick_view_btn_lable_color' => isset( $_POST['qvipp_quick_view_btn_lable_color'] ) ? sanitize_text_field( wp_unslash( $_POST['qvipp_quick_view_btn_lable_color'] ) ) : '',
    118118            );
    119119            update_option( 'qvipp_styles', $style );
     
    131131        }
    132132        ?>
    133         <div class="wrap">
    134             <h1><?php esc_html_e( 'QuickView – Instant Product Preview Settings', 'quickview-instant-product-preview' ); ?><span class="qvipp-version"><?php echo esc_html( 'v' . QVIPP_VERSION ); ?></span></h1>
     133        <div class="wrap qvipp-admin-page">
     134            <div class="qvipp-page-header">
     135                <h1><?php esc_html_e( 'QuickView – Instant Product Preview Settings', 'quickview-instant-product-preview' ); ?><span class="qvipp-version"><?php echo esc_html( 'v' . QVIPP_VERSION ); ?></span></h1>
     136                <p class="qvipp-page-subtitle"><?php esc_html_e( 'Configure how the quick view button behaves and looks in the admin area.', 'quickview-instant-product-preview' ); ?></p>
     137            </div>
    135138            <form action="" method="post">
    136139                <?php wp_nonce_field( 'qvipp-admin-nonce', 'qvipp_nonce_field' ); ?>
    137140
    138                 <h2><?php esc_html_e( 'General Options', 'quickview-instant-product-preview' ); ?></h2>
    139                 <table class="form-table">
     141                <div class="qvipp-card">
     142                    <h2><?php esc_html_e( 'General Options', 'quickview-instant-product-preview' ); ?></h2>
     143                    <table class="form-table qvipp-form-table">
    140144                    <tr>
    141145                        <th><?php esc_html_e( 'Enable Quick View', 'quickview-instant-product-preview' ); ?></th>
     
    148152                            <span class="qvipp-slider"></span>
    149153                          </label>
     154                          <p class="qvipp-field-note"><?php esc_html_e( 'Turn the quick view feature on or off.', 'quickview-instant-product-preview' ); ?></p>
    150155                        </td>
    151156                    </tr>
     
    168173                                ?>
    169174                            </div>
     175                            <p class="qvipp-field-note"><?php esc_html_e( 'Select where the quick view button appears on product cards.', 'quickview-instant-product-preview' ); ?></p>
    170176                        </td>
    171177                    </tr>
     
    180186                                <span class="qvipp-slider"></span>
    181187                            </label>
     188                            <p class="qvipp-field-note"><?php esc_html_e( 'Allow quick view on smaller screens.', 'quickview-instant-product-preview' ); ?></p>
    182189                        </td>
    183190                    </tr>
     
    185192                        <th><?php esc_html_e( 'Quick View Button Label', 'quickview-instant-product-preview' ); ?></th>
    186193                        <td>
    187                             <input name="qvipp_button_lable" type="text" value="<?php echo esc_attr( $this->qvipp_options['qvipp_button_lable'] ?? '' ); ?>" />
     194                            <input class="regular-text" name="qvipp_button_lable" type="text" value="<?php echo esc_attr( $this->qvipp_options['qvipp_button_lable'] ?? '' ); ?>" />
    188195                        </td>
    189196                    </tr>
     
    204211                                <span class="qvipp-slider"></span>
    205212                            </label>
     213                            <p class="qvipp-field-note"><?php esc_html_e( 'Show a button to visit the full product page.', 'quickview-instant-product-preview' ); ?></p>
    206214                        </td>
    207215                    </tr>
     
    209217                        <th><?php esc_html_e( 'View Product Detail Text', 'quickview-instant-product-preview' ); ?></th>
    210218                        <td>
    211                             <input name="qvipp_view_product_detail_text" type="text" value="<?php echo esc_attr( $this->qvipp_options['qvipp_view_product_detail_text'] ?? '' ); ?>" />
     219                            <input class="regular-text" name="qvipp_view_product_detail_text" type="text" value="<?php echo esc_attr( $this->qvipp_options['qvipp_view_product_detail_text'] ?? '' ); ?>" />
    212220                        </td>
    213221                    </tr>
     
    232240                            );
    233241                            foreach ( $checkboxes as $val => $label ) {
    234                                 echo '<div style="display:flex;align-items:center;gap:8px;margin-bottom:6px;">';
     242                                echo '<div class="qvipp-inline-switch">';
    235243                                echo '<label class="qvipp-switch">
    236244                                        <input type="checkbox" name="qvipp_display_product_options[]" value="' . esc_attr( $val ) . '" ' . checked( in_array( $val, $op_val, true ), true, false ) . ' />
     
    243251                        </td>
    244252                    </tr>
    245                 </table>
     253                    </table>
     254                </div>
    246255               
    247                 <h2><?php esc_html_e( 'Style Options', 'quickview-instant-product-preview' ); ?></h2>
    248                 <table class="form-table">
     256                <div class="qvipp-card">
     257                    <h2><?php esc_html_e( 'Style Options', 'quickview-instant-product-preview' ); ?></h2>
     258                    <table class="form-table qvipp-form-table">
    249259                    <tr>
    250260                        <th><?php esc_html_e( 'Modal Window Background Color', 'quickview-instant-product-preview' ); ?></th>
     
    267277                        <td><input type="text" name="qvipp_navigation_txt" value="<?php echo esc_attr( $this->qvipp_styles['qvipp_navigation_txt'] ?? '' ); ?>" class="qvipp-color-picker" data-default-color="#fff" /></td>
    268278                    </tr>
    269                 </table>
     279                    </table>
     280                </div>
    270281
    271282                <?php submit_button( __( 'Save Changes', 'quickview-instant-product-preview' ) ); ?>
  • quickview-instant-product-preview/trunk/assets/css/admin.css

    r3387900 r3448934  
    1 /* Wrap container */
    2 .wrap {
    3   padding: 20px;
    4   background: #fff;
     1/* Page layout */
     2.qvipp-admin-page {
     3  padding: 20px 20px 10px;
    54}
    65
    7 /* Headings */
    8 .wrap h1,
    9 .wrap h2 {
    10   margin-bottom: 15px;
     6.qvipp-page-header {
     7  margin-bottom: 18px;
    118}
    129
    13 /* Space between sections */
    14 .wrap h2 {
    15   padding-top: 20px;
    16   border-top: 1px solid #ddd;
    17   font-size: 22px;
     10.qvipp-page-header h1 {
     11  display: flex;
     12  align-items: center;
     13  gap: 8px;
     14  margin-bottom: 6px;
     15}
     16
     17.qvipp-page-subtitle {
     18  margin: 0;
     19  color: #646970;
     20  font-size: 13px;
     21}
     22
     23/* Card sections */
     24.qvipp-card {
     25  background: #fff;
     26  border: 1px solid #e2e4e7;
     27  border-radius: 10px;
     28  padding: 18px 18px 6px;
     29  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
     30  margin-bottom: 16px;
     31}
     32
     33.qvipp-card h2 {
     34  margin: 0 0 12px;
     35  font-size: 18px;
     36  padding-bottom: 10px;
     37  border-bottom: 1px solid #f0f0f1;
    1838}
    1939
    2040/* Table cells */
    21 .wrap .form-table th,
    22 .wrap .form-table td {
    23   padding: 12px 15px;
    24   vertical-align: middle;
     41.qvipp-form-table th,
     42.qvipp-form-table td {
     43  padding: 12px 10px;
     44  vertical-align: top;
     45}
     46
     47.qvipp-form-table th {
     48  width: 240px;
    2549}
    2650
    2751/* Inputs */
    28 .wrap .form-table input[type="text"],
    29 .wrap .form-table select {
     52.qvipp-form-table input[type="text"],
     53.qvipp-form-table select {
    3054  padding: 6px 8px;
    31   width: 250px;
     55  width: 280px;
    3256  max-width: 100%;
     57}
     58
     59/* Notes under fields */
     60.qvipp-field-note {
     61  margin: 6px 0 0;
     62  color: #646970;
     63  font-size: 12px;
    3364}
    3465
     
    3970
    4071/* Switch rows */
    41 .wrap .form-table td>div {
     72.qvipp-inline-switch {
     73  display: flex;
     74  align-items: center;
     75  gap: 10px;
    4276  margin-bottom: 8px;
    4377}
     
    4579/* Submit button spacing */
    4680.wrap .submit {
    47   margin-top: 20px;
     81  margin-top: 10px;
    4882}
    4983
     
    5387    margin-left: 6px;
    5488    font-weight: 400;
    55     background-color: #ffff;
     89  background-color: #fff;
    5690    padding: 2px 5px 2px 2px;
    5791    border-radius: 2px;
     
    111145  display: inline-flex;
    112146  gap: 0;
    113   border: 1px solid #ccc;
    114   border-radius: 6px;
     147  border: 1px solid #c3c4c7;
     148  border-radius: 8px;
    115149  overflow: hidden;
    116150}
     
    127161  background-color: #f6f7f7;
    128162  color: #50575e;
    129   border-right: 1px solid #ccc;
     163  border-right: 1px solid #c3c4c7;
    130164  font-weight: 500;
    131165  transition: background-color 0.2s ease, color 0.2s ease;
  • quickview-instant-product-preview/trunk/quickview-instant-product-preview.php

    r3365336 r3448934  
    55 * Author:           Kirtikumar Solanki
    66 * Author URI:       https://profiles.wordpress.org/solankisoftware/
    7  * Version:          1.0.0
     7 * Version:          1.0.1
    88 * Text Domain:      quickview-instant-product-preview
    99 * Domain Path:      /languages
     
    2121// Define plugin version
    2222if ( ! defined( 'QVIPP_VERSION' ) ) {
    23     define( 'QVIPP_VERSION', '1.0.0' );
     23    define( 'QVIPP_VERSION', '1.0.1' );
    2424}
    2525if ( ! defined( 'QVIPP_PLUGIN_URL' ) ) {
  • quickview-instant-product-preview/trunk/readme.txt

    r3443449 r3448934  
    77Tested up to: 6.9
    88Requires PHP: 7.0
    9 Stable tag: 1.0.0
     9Stable tag: 1.0.1
    1010License: GPLv2 or later
    1111License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    6565
    6666Developed by [Kirtikumar Solanki](https://profiles.wordpress.org/solankisoftware/). 
    67 Donations welcome via [PayPal](https://paypal.me/kirtikumar89).  
     67Donations welcome via [PayPal](https://paypal.me/kirtikumar89).
    6868
    6969== Frequently Asked Questions ==
     
    9797Yes! You can enable or disable the display of product ratings inside the Quick View modal in the plugin’s settings.
    9898
     99
    99100== Changelog ==
     101= 1.0.1 =
     102* Fixed conflict issue and improved admin page design
    100103
    101104= 1.0.0 =
Note: See TracChangeset for help on using the changeset viewer.