Plugin Directory

Changeset 3451265


Ignore:
Timestamp:
02/01/2026 07:50:33 AM (3 weeks ago)
Author:
ali7ali
Message:

Tested with WordPress 6.9 and Elementor 3.22

Location:
alpha-price-table-for-elementor/trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • alpha-price-table-for-elementor/trunk/README.md

    r3276978 r3451265  
    2525- Seamless integration with Elementor
    2626
    27 With Elementors intuitive tools and our advanced widget, building beautiful and mobile-friendly price tables is easier than ever.
     27With Elementor's intuitive tools and our advanced widget, building beautiful and mobile-friendly price tables is easier than ever.
    2828
    2929---
     
    5454### Minimum Requirements
    5555
    56 - **WordPress**: 6.0 or greater
     56- **WordPress**: 6.4 or greater
    5757- **PHP**: 7.4 or greater
    5858- **MySQL**: 5.0 or greater
     
    6666### Installation Steps
    6767
    68 1. Install the [Elementor Website Builder](https://wordpress.org/plugins/elementor/) plugin if you havent already.
     681. Install the [Elementor Website Builder](https://wordpress.org/plugins/elementor/) plugin if you haven't already.
    69692. From your WordPress Dashboard:
    7070   - Go to **Plugins** > **Add New**.
     
    7979## Upgrade Notice
    8080
     81### Version 1.2.0
     82
     83- Requires WordPress 6.4+ and PHP 7.4+; Elementor 3.22+ recommended. Styles now load only when the widget is present, and translation loading is handled by WordPress.org.
     84
    8185### Version 1.1
    8286
    8387- Compatibility for WP 6.8
     88
     89## Changelog
     90
     91### 1.2.0
     92- Tested with WordPress 6.9 and Elementor 3.22.
     93- Minimum requirements set to WP 6.4 and PHP 7.4.
     94- CSS now registers per widget (with cache-busting) instead of loading globally.
     95- Removed manual text domain loading (handled by WordPress.org) and tightened external link security.
     96- Added focus-visible and RTL support for improved accessibility.
     97
     98### 1.1
     99- Compatibility for WP 6.8
  • alpha-price-table-for-elementor/trunk/alpha-price-table-for-elementor.php

    r3276978 r3451265  
    44 * Plugin URI:  https://ali-ali.org/
    55 * Description: Premium Price Table for WordPress.
    6  * Version:     1.1
     6 * Version:     1.2.0
    77 * Author:      Ali Ali
    88 * Author URI:  https://github.com/Ali7Ali
    99 * Text Domain: alpha-price-table-for-elementor
    1010 * Domain Path: /languages
     11 * Requires at least: 6.4
     12 * Tested up to: 6.9
     13 * Requires PHP: 7.4
    1114 * License:     GPLv3
    1215 *
     
    3437}
    3538
    36 define( 'ALPHAPRICETABLE_VERSION', '1.1' );
     39define( 'ALPHAPRICETABLE_VERSION', '1.2.0' );
    3740define( 'ALPHAPRICETABLE_PLUGIN_FILE', __FILE__ );
    3841define( 'ALPHAPRICETABLE_PLUGIN_URL', plugin_dir_url( ALPHAPRICETABLE_PLUGIN_FILE ) );
     
    5053 * @since 1.0.6
    5154 */
    52 function alpha_price_table_addon_init() {
     55/**
     56 * Initialize the Alpha Price Table plugin.
     57 *
     58 * @since 1.0.6
     59 */
     60function alpha_price_table_for_elementor_init() {
    5361    // Check if Elementor is installed and activated.
    5462    if ( ! did_action( 'elementor/loaded' ) ) {
    55         add_action( 'admin_notices', 'alpha_price_table_missing_elementor_notice' );
     63        add_action( 'admin_notices', 'alpha_price_table_for_elementor_missing_elementor_notice' );
    5664        return;
    5765    }
    58 
    59     // Load plugin text domain for translations.
    60     load_plugin_textdomain( 'alpha-price-table-for-elementor', false, ALPHAPRICETABLE_PLUGIN_BASENAME . '/languages' );
    6166
    6267    // Include the main plugin class.
     
    6671    \Elementor_Alpha_Price_Table_Addon\Alpha_Price_Table_For_Elementor::instance();
    6772}
    68 add_action( 'plugins_loaded', 'alpha_price_table_addon_init' );
     73add_action( 'plugins_loaded', 'alpha_price_table_for_elementor_init' );
     74
     75// Back-compat for legacy hook names.
     76if ( ! function_exists( 'alpha_price_table_addon_init' ) ) {
     77    function alpha_price_table_addon_init() {
     78        alpha_price_table_for_elementor_init();
     79    }
     80}
    6981
    7082
     
    7587 * @since 1.0.6
    7688 */
    77 function alpha_price_table_missing_elementor_notice() {
     89function alpha_price_table_for_elementor_missing_elementor_notice() {
    7890    if ( ! current_user_can( 'activate_plugins' ) ) {
    7991        return;
     
    130142    );
    131143}
     144
     145// Back-compat for legacy hook names.
     146if ( ! function_exists( 'alpha_price_table_missing_elementor_notice' ) ) {
     147    function alpha_price_table_missing_elementor_notice() {
     148        alpha_price_table_for_elementor_missing_elementor_notice();
     149    }
     150}
  • alpha-price-table-for-elementor/trunk/assets/css/alpha-pricetable-widget.css

    r2542852 r3451265  
    1 .elementor-price-table{text-align:center}.elementor-price-table .elementor-price-table__header{background:#555;padding:20px 0}.elementor-price-table .elementor-price-table__heading{margin:0;padding:0;line-height:1.2;font-size:24px;font-weight:600;color:#fff}.elementor-price-table .elementor-price-table__subheading{font-size:13px;font-weight:400;color:#fff}.elementor-price-table .elementor-price-table__features-list{list-style-type:none;margin:0;padding:0;line-height:1}.elementor-price-table .elementor-price-table__features-list li{font-size:14px;line-height:1;margin:0;padding:0}.elementor-price-table .elementor-price-table__features-list li .elementor-price-table__feature-inner{margin-left:15px;margin-right:15px;display:flex;justify-content:space-between;align-items:baseline}.elementor-price-table .elementor-price-table__features-list li:not(:first-child):before{content:'';display:block;border:0 solid rgba(122,122,122,.3);margin:10px 12.5%}.elementor-price-table .elementor-price-table__features-list i{margin-right:10px;font-size:1.3em}.elementor-price-table .elementor-price-table__features-list svg{margin-right:10px;width:1.3em}.elementor-price-table .elementor-price-table__footer{padding:30px 0}.elementor-price-table .elementor-price-table__additional_info{margin:0;font-size:13px;line-height:1.4}.elementor-widget-price-table .elementor-widget-container{overflow:hidden;background-color:#f7f7f7}
     1.elementor-price-table{text-align:center}.elementor-price-table .elementor-price-table__header{background:#555;padding:20px 0}.elementor-price-table .elementor-price-table__heading{margin:0;padding:0;line-height:1.2;font-size:24px;font-weight:600;color:#fff}.elementor-price-table .elementor-price-table__subheading{font-size:13px;font-weight:400;color:#fff}.elementor-price-table .elementor-price-table__features-list{list-style-type:none;margin:0;padding:0;line-height:1}.elementor-price-table .elementor-price-table__features-list li{font-size:14px;line-height:1;margin:0;padding:0}.elementor-price-table .elementor-price-table__features-list li .elementor-price-table__feature-inner{margin-left:15px;margin-right:15px;display:flex;justify-content:space-between;align-items:baseline}.elementor-price-table .elementor-price-table__features-list li:not(:first-child):before{content:'';display:block;border:0 solid rgba(122,122,122,.3);margin:10px 12.5%}.elementor-price-table .elementor-price-table__features-list i{margin-right:10px;font-size:1.3em}.elementor-price-table .elementor-price-table__features-list svg{margin-right:10px;width:1.3em}.elementor-price-table .elementor-price-table__footer{padding:30px 0}.elementor-price-table .elementor-price-table__additional_info{margin:0;font-size:13px;line-height:1.4}.elementor-widget-price-table .elementor-widget-container{overflow:hidden;background-color:#f7f7f7}.elementor-price-table .elementor-price-table__button:focus-visible{outline:2px solid currentColor;outline-offset:2px}[dir=rtl] .elementor-price-table .elementor-price-table__features-list li .elementor-price-table__feature-inner{flex-direction:row-reverse}[dir=rtl] .elementor-price-table .elementor-price-table__features-list i,[dir=rtl] .elementor-price-table .elementor-price-table__features-list svg{margin-right:0;margin-left:10px}
  • alpha-price-table-for-elementor/trunk/includes/class-alpha-price-table-widget.php

    r3276978 r3451265  
    6464    public function get_keywords() {
    6565        return array( 'pricing', 'table', 'plan', 'button' );
     66    }
     67
     68    /**
     69     * Retrieve widget styles dependencies.
     70     *
     71     * Ensures CSS is loaded only when the widget renders.
     72     *
     73     * @return array
     74     */
     75    public function get_style_depends() {
     76        return array( 'alpha-pricetable-widget' );
    6677    }
    6778
     
    789800        if ( ! empty( $settings['link']['url'] ) ) {
    790801            $this->add_link_attributes( 'button_text', $settings['link'] );
     802
     803            // Harden external links for security.
     804            if ( ! empty( $settings['link']['is_external'] ) ) {
     805                $this->add_render_attribute( 'button_text', 'rel', 'noopener noreferrer' );
     806            }
    791807        }
    792808
  • alpha-price-table-for-elementor/trunk/includes/class-alpha-price-table.php

    r3276978 r3451265  
    2828     * @var   string Minimum Elementor version required to run the addon.
    2929     */
    30     const MINIMUM_ELEMENTOR_VERSION = '3.21.0';
     30    const MINIMUM_ELEMENTOR_VERSION = '3.22.0';
     31
     32    /**
     33     * Minimum WordPress Version
     34     *
     35     * @since 1.2.0
     36     * @var   string Minimum WordPress version required to run the addon.
     37     */
     38    const MINIMUM_WP_VERSION = '6.4';
    3139
    3240    /**
     
    8795     */
    8896    private function is_compatible(): bool {
     97        // Check for required WordPress version.
     98        if ( version_compare( get_bloginfo( 'version' ), self::MINIMUM_WP_VERSION, '<' ) ) {
     99            add_action( 'admin_notices', array( $this, 'admin_notice_minimum_wp_version' ) );
     100            return false;
     101        }
     102
    89103        // Check for required Elementor version.
    90104        if ( ! defined( 'ELEMENTOR_VERSION' ) || ! version_compare( ELEMENTOR_VERSION, self::MINIMUM_ELEMENTOR_VERSION, '>=' ) ) {
     
    111125     */
    112126    public function init(): void {
    113         add_action( 'elementor/frontend/after_enqueue_styles', array( $this, 'frontend_styles' ) );
     127        add_action( 'elementor/frontend/after_register_styles', array( $this, 'register_frontend_assets' ) );
    114128        add_action( 'elementor/widgets/register', array( $this, 'register_widgets' ) );
    115129    }
     
    159173    }
    160174
     175    /**
     176     * Displays an admin notice if the WordPress version is below the required minimum.
     177     *
     178     * @since 1.2.0
     179     * @access public
     180     */
     181    public function admin_notice_minimum_wp_version(): void {
     182        if ( ! current_user_can( 'update_core' ) ) {
     183            return;
     184        }
     185
     186        $message = sprintf(
     187        /* translators: 1: Plugin name, 2: Required WordPress version */
     188            __( '%1$s requires WordPress version %2$s or greater.', 'alpha-price-table-for-elementor' ),
     189            '<strong>' . __( 'Alpha Price Table for Elementor', 'alpha-price-table-for-elementor' ) . '</strong>',
     190            self::MINIMUM_WP_VERSION
     191        );
     192
     193        $allowed_html = array(
     194            'strong' => array(),
     195            'p'      => array(),
     196            'div'    => array(
     197                'class' => array(),
     198            ),
     199        );
     200
     201        printf(
     202            '<div class="notice notice-warning is-dismissible">%s</div>',
     203            wp_kses( '<p>' . $message . '</p>', $allowed_html )
     204        );
     205    }
     206
    161207
    162208    /**
     
    194240
    195241    /**
    196      * Enqueues the necessary CSS files for the widget.
    197      *
    198      * @since  1.0.0
    199      * @access public
    200      */
    201     public function frontend_styles(): void {
    202         wp_enqueue_style(
     242     * Registers the necessary CSS files for the widget.
     243     *
     244     * @since  1.0.0
     245     * @since  1.2.0 Now registers and versions the stylesheet instead of enqueuing globally.
     246     * @access public
     247     */
     248    public function register_frontend_assets(): void {
     249        wp_register_style(
    203250            'alpha-pricetable-widget',
    204251            ALPHAPRICETABLE_ASSETS_URL . 'css/alpha-pricetable-widget.css',
    205252            array(),
    206             ALPHAPRICETABLE_VERSION
     253            $this->get_asset_version( ALPHAPRICETABLE_PLUGIN_PATH . 'assets/css/alpha-pricetable-widget.css' )
    207254        );
    208255    }
     
    219266        $widgets_manager->register( new Alpha_Price_Table_Widget() );
    220267    }
     268
     269    /**
     270     * Generate an asset version using file modification time for cache busting.
     271     *
     272     * Falls back to the plugin version constant if the file does not exist.
     273     *
     274     * @since 1.2.0
     275     *
     276     * @param string $file_path Absolute path to the asset file.
     277     * @return string
     278     */
     279    private function get_asset_version( string $file_path ): string {
     280        if ( file_exists( $file_path ) ) {
     281            $mtime = filemtime( $file_path );
     282            if ( false !== $mtime ) {
     283                return (string) $mtime;
     284            }
     285        }
     286
     287        return ALPHAPRICETABLE_VERSION;
     288    }
    221289}
  • alpha-price-table-for-elementor/trunk/languages/alpha-price-table-for-elementor.pot

    r3276978 r3451265  
    1 # Copyright (C) 2025 Ali Ali
     1# Copyright (C) 2026 Ali Ali
    22# This file is distributed under the GPLv3.
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Alpha Price Table For Elementor 1.1\n"
     5"Project-Id-Version: Alpha Price Table For Elementor 1.2.0\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/alpha-price-table-for-elementor\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2025-04-17T10:50:32+00:00\n"
     12"POT-Creation-Date: 2026-02-01T07:37:18+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.11.0\n"
     
    1717#. Plugin Name of the plugin
    1818#: alpha-price-table-for-elementor.php
     19#: alpha-price-table-for-elementor.php:116
     20msgid "Alpha Price Table For Elementor"
     21msgstr ""
     22
     23#. Plugin URI of the plugin
     24#: alpha-price-table-for-elementor.php
     25msgid "https://ali-ali.org/"
     26msgstr ""
     27
     28#. Description of the plugin
     29#: alpha-price-table-for-elementor.php
     30msgid "Premium Price Table for WordPress."
     31msgstr ""
     32
     33#. Author of the plugin
     34#: alpha-price-table-for-elementor.php
     35msgid "Ali Ali"
     36msgstr ""
     37
     38#. Author URI of the plugin
     39#: alpha-price-table-for-elementor.php
     40msgid "https://github.com/Ali7Ali"
     41msgstr ""
     42
     43#: alpha-price-table-for-elementor.php:102
     44msgid "Activate Elementor Now"
     45msgstr ""
     46
     47#. translators: %1$s: Plugin name, %2$s: Action link
    1948#: alpha-price-table-for-elementor.php:104
    20 msgid "Alpha Price Table For Elementor"
    21 msgstr ""
    22 
    23 #. Plugin URI of the plugin
    24 #: alpha-price-table-for-elementor.php
    25 msgid "https://ali-ali.org/"
    26 msgstr ""
    27 
    28 #. Description of the plugin
    29 #: alpha-price-table-for-elementor.php
    30 msgid "Premium Price Table for WordPress."
    31 msgstr ""
    32 
    33 #. Author of the plugin
    34 #: alpha-price-table-for-elementor.php
    35 msgid "Ali Ali"
    36 msgstr ""
    37 
    38 #. Author URI of the plugin
    39 #: alpha-price-table-for-elementor.php
    40 msgid "https://github.com/Ali7Ali"
    41 msgstr ""
    42 
    43 #: alpha-price-table-for-elementor.php:90
    44 msgid "Activate Elementor Now"
     49msgid "%1$s requires Elementor to be activated. %2$s"
     50msgstr ""
     51
     52#: alpha-price-table-for-elementor.php:110
     53msgid "Install Elementor Now"
    4554msgstr ""
    4655
    4756#. translators: %1$s: Plugin name, %2$s: Action link
    48 #: alpha-price-table-for-elementor.php:92
    49 msgid "%1$s requires Elementor to be activated. %2$s"
    50 msgstr ""
    51 
    52 #: alpha-price-table-for-elementor.php:98
    53 msgid "Install Elementor Now"
    54 msgstr ""
    55 
    56 #. translators: %1$s: Plugin name, %2$s: Action link
    57 #: alpha-price-table-for-elementor.php:100
     57#: alpha-price-table-for-elementor.php:112
    5858msgid "%1$s requires Elementor to be installed and activated. %2$s"
    5959msgstr ""
     
    6363msgstr ""
    6464
    65 #: includes/class-alpha-price-table-widget.php:78
    66 #: includes/class-alpha-price-table-widget.php:286
     65#: includes/class-alpha-price-table-widget.php:89
     66#: includes/class-alpha-price-table-widget.php:297
    6767msgid "Header"
    6868msgstr ""
    6969
    7070#. translators: 1: Demo link open tag, 2: Link close tag.
    71 #: includes/class-alpha-price-table-widget.php:88
     71#: includes/class-alpha-price-table-widget.php:99
    7272msgid "Check this widget demo %1$shere%2$s."
    7373msgstr ""
    7474
    75 #: includes/class-alpha-price-table-widget.php:99
    76 #: includes/class-alpha-price-table-widget.php:322
     75#: includes/class-alpha-price-table-widget.php:110
     76#: includes/class-alpha-price-table-widget.php:333
    7777msgid "Title"
    7878msgstr ""
    7979
    80 #: includes/class-alpha-price-table-widget.php:101
     80#: includes/class-alpha-price-table-widget.php:112
    8181msgid "Enter your title"
    8282msgstr ""
    8383
    84 #: includes/class-alpha-price-table-widget.php:108
     84#: includes/class-alpha-price-table-widget.php:119
    8585msgid "Alignment"
    8686msgstr ""
    8787
    88 #: includes/class-alpha-price-table-widget.php:113
     88#: includes/class-alpha-price-table-widget.php:124
    8989msgid "Left"
    9090msgstr ""
    9191
    92 #: includes/class-alpha-price-table-widget.php:117
     92#: includes/class-alpha-price-table-widget.php:128
    9393msgid "Center"
    9494msgstr ""
    9595
    96 #: includes/class-alpha-price-table-widget.php:121
     96#: includes/class-alpha-price-table-widget.php:132
    9797msgid "Right"
    9898msgstr ""
    9999
    100 #: includes/class-alpha-price-table-widget.php:134
     100#: includes/class-alpha-price-table-widget.php:145
    101101msgid "Description"
    102102msgstr ""
    103103
    104 #: includes/class-alpha-price-table-widget.php:136
     104#: includes/class-alpha-price-table-widget.php:147
    105105msgid "Enter your description"
    106106msgstr ""
    107107
    108 #: includes/class-alpha-price-table-widget.php:143
     108#: includes/class-alpha-price-table-widget.php:154
    109109msgid "Heading Tag"
    110110msgstr ""
    111111
    112 #: includes/class-alpha-price-table-widget.php:162
    113 #: includes/class-alpha-price-table-widget.php:386
     112#: includes/class-alpha-price-table-widget.php:173
     113#: includes/class-alpha-price-table-widget.php:397
    114114msgid "Features"
    115115msgstr ""
    116116
    117 #: includes/class-alpha-price-table-widget.php:171
     117#: includes/class-alpha-price-table-widget.php:182
    118118msgid "Text"
    119119msgstr ""
    120120
    121 #: includes/class-alpha-price-table-widget.php:173
     121#: includes/class-alpha-price-table-widget.php:184
    122122msgid "List Item"
    123123msgstr ""
    124124
    125 #: includes/class-alpha-price-table-widget.php:185
     125#: includes/class-alpha-price-table-widget.php:196
    126126msgid "Icon"
    127127msgstr ""
    128128
    129 #: includes/class-alpha-price-table-widget.php:195
     129#: includes/class-alpha-price-table-widget.php:206
    130130msgid "Icon Color"
    131131msgstr ""
    132132
    133 #: includes/class-alpha-price-table-widget.php:208
     133#: includes/class-alpha-price-table-widget.php:219
    134134msgid "Icon Position"
    135135msgstr ""
    136136
    137 #: includes/class-alpha-price-table-widget.php:212
     137#: includes/class-alpha-price-table-widget.php:223
    138138msgid "Before"
    139139msgstr ""
    140140
    141 #: includes/class-alpha-price-table-widget.php:213
     141#: includes/class-alpha-price-table-widget.php:224
    142142msgid "After"
    143143msgstr ""
    144144
    145 #: includes/class-alpha-price-table-widget.php:228
     145#: includes/class-alpha-price-table-widget.php:239
    146146msgid "List Item #1"
    147147msgstr ""
    148148
    149 #: includes/class-alpha-price-table-widget.php:233
     149#: includes/class-alpha-price-table-widget.php:244
    150150msgid "List Item #2"
    151151msgstr ""
    152152
    153 #: includes/class-alpha-price-table-widget.php:238
     153#: includes/class-alpha-price-table-widget.php:249
    154154msgid "List Item #3"
    155155msgstr ""
    156156
    157 #: includes/class-alpha-price-table-widget.php:253
    158 #: includes/class-alpha-price-table-widget.php:478
     157#: includes/class-alpha-price-table-widget.php:264
     158#: includes/class-alpha-price-table-widget.php:489
    159159msgid "Footer"
    160160msgstr ""
    161161
    162 #: includes/class-alpha-price-table-widget.php:260
     162#: includes/class-alpha-price-table-widget.php:271
    163163msgid "Button Text"
    164164msgstr ""
    165165
    166 #: includes/class-alpha-price-table-widget.php:262
     166#: includes/class-alpha-price-table-widget.php:273
    167167msgid "Click Here"
    168168msgstr ""
    169169
    170 #: includes/class-alpha-price-table-widget.php:269
     170#: includes/class-alpha-price-table-widget.php:280
    171171msgid "Link"
    172172msgstr ""
    173173
    174 #: includes/class-alpha-price-table-widget.php:271
     174#: includes/class-alpha-price-table-widget.php:282
    175175msgid "https://your-link.com"
    176176msgstr ""
    177177
    178 #: includes/class-alpha-price-table-widget.php:295
    179 #: includes/class-alpha-price-table-widget.php:395
    180 #: includes/class-alpha-price-table-widget.php:487
    181 #: includes/class-alpha-price-table-widget.php:582
    182 #: includes/class-alpha-price-table-widget.php:668
     178#: includes/class-alpha-price-table-widget.php:306
     179#: includes/class-alpha-price-table-widget.php:406
     180#: includes/class-alpha-price-table-widget.php:498
     181#: includes/class-alpha-price-table-widget.php:593
     182#: includes/class-alpha-price-table-widget.php:679
    183183msgid "Background Color"
    184184msgstr ""
    185185
    186 #: includes/class-alpha-price-table-widget.php:310
    187 #: includes/class-alpha-price-table-widget.php:407
    188 #: includes/class-alpha-price-table-widget.php:498
     186#: includes/class-alpha-price-table-widget.php:321
     187#: includes/class-alpha-price-table-widget.php:418
     188#: includes/class-alpha-price-table-widget.php:509
    189189msgid "Padding"
    190190msgstr ""
    191191
    192 #: includes/class-alpha-price-table-widget.php:331
    193 #: includes/class-alpha-price-table-widget.php:362
    194 #: includes/class-alpha-price-table-widget.php:433
     192#: includes/class-alpha-price-table-widget.php:342
     193#: includes/class-alpha-price-table-widget.php:373
     194#: includes/class-alpha-price-table-widget.php:444
    195195msgid "Color"
    196196msgstr ""
    197197
    198 #: includes/class-alpha-price-table-widget.php:353
     198#: includes/class-alpha-price-table-widget.php:364
    199199msgid "Sub Title"
    200200msgstr ""
    201201
    202 #: includes/class-alpha-price-table-widget.php:459
     202#: includes/class-alpha-price-table-widget.php:470
    203203msgid "Width"
    204204msgstr ""
    205205
    206 #: includes/class-alpha-price-table-widget.php:510
     206#: includes/class-alpha-price-table-widget.php:521
    207207msgid "Button"
    208208msgstr ""
    209209
    210 #: includes/class-alpha-price-table-widget.php:522
     210#: includes/class-alpha-price-table-widget.php:533
    211211msgid "Size"
    212212msgstr ""
    213213
    214 #: includes/class-alpha-price-table-widget.php:526
     214#: includes/class-alpha-price-table-widget.php:537
    215215msgid "Extra Small"
    216216msgstr ""
    217217
    218 #: includes/class-alpha-price-table-widget.php:527
     218#: includes/class-alpha-price-table-widget.php:538
    219219msgid "Small"
    220220msgstr ""
    221221
    222 #: includes/class-alpha-price-table-widget.php:528
     222#: includes/class-alpha-price-table-widget.php:539
    223223msgid "Medium"
    224224msgstr ""
    225225
    226 #: includes/class-alpha-price-table-widget.php:529
     226#: includes/class-alpha-price-table-widget.php:540
    227227msgid "Large"
    228228msgstr ""
    229229
    230 #: includes/class-alpha-price-table-widget.php:530
     230#: includes/class-alpha-price-table-widget.php:541
    231231msgid "Extra Large"
    232232msgstr ""
    233233
    234 #: includes/class-alpha-price-table-widget.php:543
     234#: includes/class-alpha-price-table-widget.php:554
    235235msgid "Normal"
    236236msgstr ""
    237237
    238 #: includes/class-alpha-price-table-widget.php:553
    239 #: includes/class-alpha-price-table-widget.php:654
     238#: includes/class-alpha-price-table-widget.php:564
     239#: includes/class-alpha-price-table-widget.php:665
    240240msgid "Text Color"
    241241msgstr ""
    242242
    243 #: includes/class-alpha-price-table-widget.php:612
    244 #: includes/class-alpha-price-table-widget.php:731
     243#: includes/class-alpha-price-table-widget.php:623
     244#: includes/class-alpha-price-table-widget.php:742
    245245msgid "Border Radius"
    246246msgstr ""
    247247
    248 #: includes/class-alpha-price-table-widget.php:627
     248#: includes/class-alpha-price-table-widget.php:638
    249249msgid "Text Padding"
    250250msgstr ""
    251251
    252 #: includes/class-alpha-price-table-widget.php:644
     252#: includes/class-alpha-price-table-widget.php:655
    253253msgid "Hover"
    254254msgstr ""
    255255
    256 #: includes/class-alpha-price-table-widget.php:682
     256#: includes/class-alpha-price-table-widget.php:693
    257257msgid "Border Color"
    258258msgstr ""
    259259
    260 #: includes/class-alpha-price-table-widget.php:696
     260#: includes/class-alpha-price-table-widget.php:707
    261261msgid "Animation"
    262262msgstr ""
    263263
    264 #: includes/class-alpha-price-table-widget.php:713
     264#: includes/class-alpha-price-table-widget.php:724
    265265msgid "Table"
    266266msgstr ""
    267267
    268 #: includes/class-alpha-price-table-widget.php:751
     268#: includes/class-alpha-price-table-widget.php:762
    269269msgid "Overflow"
    270270msgstr ""
    271271
    272 #: includes/class-alpha-price-table-widget.php:755
     272#: includes/class-alpha-price-table-widget.php:766
    273273msgid "Hidden"
    274274msgstr ""
    275275
    276 #: includes/class-alpha-price-table-widget.php:756
     276#: includes/class-alpha-price-table-widget.php:767
    277277msgid "Visible"
    278278msgstr ""
    279279
    280280#. translators: 1: Plugin name, 2: Required Elementor version
    281 #: includes/class-alpha-price-table.php:132
     281#: includes/class-alpha-price-table.php:146
    282282msgid "%1$s requires Elementor version %2$s or greater."
    283283msgstr ""
    284284
    285 #: includes/class-alpha-price-table.php:133
    286 #: includes/class-alpha-price-table.php:176
     285#: includes/class-alpha-price-table.php:147
     286#: includes/class-alpha-price-table.php:189
     287#: includes/class-alpha-price-table.php:222
    287288msgid "Alpha Price Table for Elementor"
    288289msgstr ""
    289290
    290 #: includes/class-alpha-price-table.php:140
     291#: includes/class-alpha-price-table.php:154
    291292msgid "Update Elementor"
    292293msgstr ""
    293294
     295#. translators: 1: Plugin name, 2: Required WordPress version
     296#: includes/class-alpha-price-table.php:188
     297msgid "%1$s requires WordPress version %2$s or greater."
     298msgstr ""
     299
    294300#. translators: 1: Plugin name, 2: Required PHP version
    295 #: includes/class-alpha-price-table.php:175
     301#: includes/class-alpha-price-table.php:221
    296302msgid "%1$s requires PHP version %2$s or greater."
    297303msgstr ""
  • alpha-price-table-for-elementor/trunk/readme.txt

    r3276978 r3451265  
    33Contributors: ali7ali
    44Tags: price-table, price, elementor, comparison, table
    5 Requires at least: 6.0
    6 Tested up to: 6.8
     5Requires at least: 6.4
     6Tested up to: 6.9
    77Requires PHP: 7.4
    8 Stable tag: 1.1
     8Stable tag: 1.2.0
    99License: GPLv3
    1010License URI: https://www.gnu.org/licenses/gpl-3.0.html
     
    2222
    2323= Why Choose Alpha Price Table? =
    24 With Elementors exclusive toolset and our advanced pricing table widget, you can create stunning, mobile-friendly price tables effortlessly. Control font sizes, padding, margins, and even column ordering for a perfect responsive design.
     24With Elementor's exclusive toolset and our advanced pricing table widget, you can create stunning, mobile-friendly price tables effortlessly. Control font sizes, padding, margins, and even column ordering for a perfect responsive design.
    2525
    2626= Demo =
     
    3636
    3737= Minimum Requirements =
    38 * WordPress 6.0 or greater
     38* WordPress 6.4 or greater
    3939* PHP version 7.4 or greater
    4040* MySQL version 5.0 or greater
     
    5454== Upgrade Notice ==
    5555
     56= 1.2.0 =
     57- Requires WordPress 6.4+ and PHP 7.4+; Elementor 3.22+ recommended. Styles now load only when the widget is present, and translations rely on WordPress.org auto-loading.
     58
    5659= 1.1 =
    5760- Compatibility for WP 6.8
     61
     62== Changelog ==
     63
     64= 1.2.0 =
     65* Tested with WordPress 6.9 and Elementor 3.22.
     66* Minimum requirements set to WP 6.4 and PHP 7.4.
     67* CSS now registers per widget (with cache-busting) instead of loading globally.
     68* Removed manual text domain loading (handled by WordPress.org) and tightened external link security.
     69* Added focus-visible and RTL support for improved accessibility.
     70
     71= 1.1 =
     72* Compatibility for WP 6.8
Note: See TracChangeset for help on using the changeset viewer.