Plugin Directory

Changeset 3301082


Ignore:
Timestamp:
05/27/2025 02:55:22 AM (10 months ago)
Author:
soliddigital
Message:

Update to version 1.9.0 from GitHub

Location:
solid-dynamics
Files:
10 added
2 deleted
10 edited
1 copied

Legend:

Unmodified
Added
Removed
  • solid-dynamics/tags/1.9.0/classes/post-field.php

    r2896065 r3301082  
    2727            'fieldname',
    2828            [
    29                 'label' => __( 'Callback', 'solid-dynamics' ),
     29                'label' => __( 'Post Field', 'solid-dynamics' ),
    3030                'type' => \Elementor\Controls_Manager::TEXT,
    3131            ]
  • solid-dynamics/tags/1.9.0/readme.txt

    r3197610 r3301082  
    22Contributors: soliddigital,lukechinworth,peterajtai
    33Tags: elementor, dynamic tags, jet engine, macros
    4 Tested up to: 6.7.1
    5 Stable tag: 1.7.0
     4Tested up to: 6.8.1
     5Stable tag: 1.9.0
    66Requires PHP: 7.0
    77License: GPLv2
     
    1111== Description ==
    1212
    13 This plugin provides an Admin Page called, "Widget Usage" under the "Solid Dynamics" menu that shows the individual posts in which a widget is used. Currently, the Elementor Element Manager only shows the total number of usages of a widget. We're always wondering where those widgets are being used, and "Widget Usage" is the answer to that question.
     13Elementor Widget Usage
     14
     15Solid Dynamics provides an Admin Page called, "Widget Usage" under the "Solid Dynamics" menu that shows the individual posts in which a widget is used. Currently, the Elementor Element Manager only shows the total number of usages of a widget. We're always wondering where those widgets are being used, and "Widget Usage" is the answer to that question.
     16
     17Elementor Custom CSS Info
     18
     19A Solid Dynamics Admin Page called, "Custom CSS Usage" shows two types of custom CSS. First, at the top of the page is shown the total lines of custom CSS in the Elementor site settings. Second, in a table below is shown the pages that have widget with custom CSS under the Advanced tab.
     20
     21Elementor Dynamic Tags
    1422
    1523Solid Dynamics also provides several dynamic tags under the "Solid Dynamics" section in Elementor:
     
    2129- `Post Field`: Retrieves custom post field by name.
    2230
    23 This plugin also provides several general use and Elementor specific settings under the menu Solid Dynamics. All settings have to be opted in to. Activating the plugin does not activate any of the settings. Activating the plugin does automatically make the dynamic tags listed above available.
     31Elementor Display Conditions
    2432
    25 General:
     33Solid Dynamics also provides several display conditions for Elementor:
     34
     35- `Solid Dynamics Macro`: access post or user data, e.g. `post|post_content`, `user|user_email`, or call any function `function|get_current_user_id`. The result is passed to boolval to show the widget.
     36
     37Settings
     38
     39Solid Dynamics also provides several general use and Elementor specific settings under the menu Solid Dynamics. All settings have to be opted in to. Activating the plugin does not activate any of the settings. Activating the plugin does automatically make the dynamic tags listed above available.
     40
     41General Settings:
    2642
    2743- Disable 404 permalink guessing.
    2844- Disable the enumeration of users using the rest API. Disables `/wp-json/wp/v2/users` and `/wp-json/wp/v2/users/:ID`
     45- Add a sortable column of registration dates to the Users page
    2946
    3047Elementor:
     
    5168
    5269== Changelog ==
     70
     71= 1.9.0 =
     722025-05-29
     73Adding information about custom Elementor CSS
     74
     75= 1.8.0 =
     762025-01-19
     77Adding setting to add to the Users page a sortable registration date column
    5378
    5479= 1.7.0 =
  • solid-dynamics/tags/1.9.0/settings/settings-fields.php

    r2896065 r3301082  
    2121                'title'   => 'Disable Users API',
    2222                'desc'    => 'Disable the Users REST API: /wp-json/wp/v2/users',
     23                'type'    => 'checkbox',
     24                'default' => 0,
     25            ),
     26            array(
     27                'id'      => 'sort_users_by_registration_date',
     28                'title'   => 'Sort Users by Registration Date',
     29                'desc'    => 'Adds a column to the Users page that shows a sortable column of registration dates.',
    2330                'type'    => 'checkbox',
    2431                'default' => 0,
  • solid-dynamics/tags/1.9.0/settings/settings.php

    r3195944 r3301082  
    4747        if ($settings['general_disable_users_api']) {
    4848            add_filter( 'rest_endpoints', [$this, 'disable_user_endpoint'] );
     49        }
     50
     51        if ($settings['general_sort_users_by_registration_date']) {
     52            // Idea from https://rudrastyh.com/wordpress/sortable-date-user-registered-column.html
     53            add_filter( 'manage_users_columns', [$this, 'add_registration_date_column'] );
     54            add_filter( 'manage_users_custom_column', [$this, 'get_registration_date'], 10, 3 );
     55            // Make registration date sortable
     56            add_filter( 'manage_users_sortable_columns', [$this,'make_registration_date_sortable'] );
    4957        }
    5058
     
    113121        wp_enqueue_style('sd-elementor-subtle-fade-in-entrance-animations', plugin_dir_url(__DIR__) . 'assets/elementor-subtle-fade-in-entrance-animations.css', ['e-animations'], '1.0.0');
    114122    }
     123
     124    function add_registration_date_column( $columns ) {
     125        $columns[ 'registration_date' ] = 'Registration Date';
     126        return $columns;
     127    }
     128
     129    function get_registration_date( $row_output, $column_id_attr, $user ) {
     130        $date_format = 'j M, Y H:i';
     131        if ($column_id_attr == 'registration_date') {
     132            $row_output = date( $date_format, strtotime( get_the_author_meta( 'registered', $user ) ) );
     133        }
     134        return $row_output;
     135    }
     136
     137    function make_registration_date_sortable( $columns ) {
     138        return wp_parse_args( array( 'registration_date' => 'registered' ), $columns );
     139    }
    115140}
  • solid-dynamics/tags/1.9.0/solid-dynamics.php

    r3197610 r3301082  
    44 * Plugin Name:       Solid Dynamics
    55 * Description:       Helpful utilities for Elementor, Jet Engine, and beyond.
    6  * Version:           1.7.0
     6 * Version:           1.8.0
    77 * Author:            Solid Digital
    88 * Author URI:        https://www.soliddigital.com
     
    1919}
    2020
     21require_once( __DIR__ . "/classes/elementor-display-conditions.php" );
     22
     23new ElementorDisplayConditions();
     24
    2125require_once( __DIR__ . "/classes/elementor-dynamic-tags.php" );
    2226
     
    3135new Settings();
    3236
    33 require_once( __DIR__ . "/widget-usage/admin-page.php" );
     37require_once( __DIR__ . "/admin-pages/widget-usage.php" );
     38require_once( __DIR__ . "/admin-pages/custom-css-usage.php" );
  • solid-dynamics/trunk/classes/post-field.php

    r2896065 r3301082  
    2727            'fieldname',
    2828            [
    29                 'label' => __( 'Callback', 'solid-dynamics' ),
     29                'label' => __( 'Post Field', 'solid-dynamics' ),
    3030                'type' => \Elementor\Controls_Manager::TEXT,
    3131            ]
  • solid-dynamics/trunk/readme.txt

    r3197610 r3301082  
    22Contributors: soliddigital,lukechinworth,peterajtai
    33Tags: elementor, dynamic tags, jet engine, macros
    4 Tested up to: 6.7.1
    5 Stable tag: 1.7.0
     4Tested up to: 6.8.1
     5Stable tag: 1.9.0
    66Requires PHP: 7.0
    77License: GPLv2
     
    1111== Description ==
    1212
    13 This plugin provides an Admin Page called, "Widget Usage" under the "Solid Dynamics" menu that shows the individual posts in which a widget is used. Currently, the Elementor Element Manager only shows the total number of usages of a widget. We're always wondering where those widgets are being used, and "Widget Usage" is the answer to that question.
     13Elementor Widget Usage
     14
     15Solid Dynamics provides an Admin Page called, "Widget Usage" under the "Solid Dynamics" menu that shows the individual posts in which a widget is used. Currently, the Elementor Element Manager only shows the total number of usages of a widget. We're always wondering where those widgets are being used, and "Widget Usage" is the answer to that question.
     16
     17Elementor Custom CSS Info
     18
     19A Solid Dynamics Admin Page called, "Custom CSS Usage" shows two types of custom CSS. First, at the top of the page is shown the total lines of custom CSS in the Elementor site settings. Second, in a table below is shown the pages that have widget with custom CSS under the Advanced tab.
     20
     21Elementor Dynamic Tags
    1422
    1523Solid Dynamics also provides several dynamic tags under the "Solid Dynamics" section in Elementor:
     
    2129- `Post Field`: Retrieves custom post field by name.
    2230
    23 This plugin also provides several general use and Elementor specific settings under the menu Solid Dynamics. All settings have to be opted in to. Activating the plugin does not activate any of the settings. Activating the plugin does automatically make the dynamic tags listed above available.
     31Elementor Display Conditions
    2432
    25 General:
     33Solid Dynamics also provides several display conditions for Elementor:
     34
     35- `Solid Dynamics Macro`: access post or user data, e.g. `post|post_content`, `user|user_email`, or call any function `function|get_current_user_id`. The result is passed to boolval to show the widget.
     36
     37Settings
     38
     39Solid Dynamics also provides several general use and Elementor specific settings under the menu Solid Dynamics. All settings have to be opted in to. Activating the plugin does not activate any of the settings. Activating the plugin does automatically make the dynamic tags listed above available.
     40
     41General Settings:
    2642
    2743- Disable 404 permalink guessing.
    2844- Disable the enumeration of users using the rest API. Disables `/wp-json/wp/v2/users` and `/wp-json/wp/v2/users/:ID`
     45- Add a sortable column of registration dates to the Users page
    2946
    3047Elementor:
     
    5168
    5269== Changelog ==
     70
     71= 1.9.0 =
     722025-05-29
     73Adding information about custom Elementor CSS
     74
     75= 1.8.0 =
     762025-01-19
     77Adding setting to add to the Users page a sortable registration date column
    5378
    5479= 1.7.0 =
  • solid-dynamics/trunk/settings/settings-fields.php

    r2896065 r3301082  
    2121                'title'   => 'Disable Users API',
    2222                'desc'    => 'Disable the Users REST API: /wp-json/wp/v2/users',
     23                'type'    => 'checkbox',
     24                'default' => 0,
     25            ),
     26            array(
     27                'id'      => 'sort_users_by_registration_date',
     28                'title'   => 'Sort Users by Registration Date',
     29                'desc'    => 'Adds a column to the Users page that shows a sortable column of registration dates.',
    2330                'type'    => 'checkbox',
    2431                'default' => 0,
  • solid-dynamics/trunk/settings/settings.php

    r3195944 r3301082  
    4747        if ($settings['general_disable_users_api']) {
    4848            add_filter( 'rest_endpoints', [$this, 'disable_user_endpoint'] );
     49        }
     50
     51        if ($settings['general_sort_users_by_registration_date']) {
     52            // Idea from https://rudrastyh.com/wordpress/sortable-date-user-registered-column.html
     53            add_filter( 'manage_users_columns', [$this, 'add_registration_date_column'] );
     54            add_filter( 'manage_users_custom_column', [$this, 'get_registration_date'], 10, 3 );
     55            // Make registration date sortable
     56            add_filter( 'manage_users_sortable_columns', [$this,'make_registration_date_sortable'] );
    4957        }
    5058
     
    113121        wp_enqueue_style('sd-elementor-subtle-fade-in-entrance-animations', plugin_dir_url(__DIR__) . 'assets/elementor-subtle-fade-in-entrance-animations.css', ['e-animations'], '1.0.0');
    114122    }
     123
     124    function add_registration_date_column( $columns ) {
     125        $columns[ 'registration_date' ] = 'Registration Date';
     126        return $columns;
     127    }
     128
     129    function get_registration_date( $row_output, $column_id_attr, $user ) {
     130        $date_format = 'j M, Y H:i';
     131        if ($column_id_attr == 'registration_date') {
     132            $row_output = date( $date_format, strtotime( get_the_author_meta( 'registered', $user ) ) );
     133        }
     134        return $row_output;
     135    }
     136
     137    function make_registration_date_sortable( $columns ) {
     138        return wp_parse_args( array( 'registration_date' => 'registered' ), $columns );
     139    }
    115140}
  • solid-dynamics/trunk/solid-dynamics.php

    r3197610 r3301082  
    44 * Plugin Name:       Solid Dynamics
    55 * Description:       Helpful utilities for Elementor, Jet Engine, and beyond.
    6  * Version:           1.7.0
     6 * Version:           1.8.0
    77 * Author:            Solid Digital
    88 * Author URI:        https://www.soliddigital.com
     
    1919}
    2020
     21require_once( __DIR__ . "/classes/elementor-display-conditions.php" );
     22
     23new ElementorDisplayConditions();
     24
    2125require_once( __DIR__ . "/classes/elementor-dynamic-tags.php" );
    2226
     
    3135new Settings();
    3236
    33 require_once( __DIR__ . "/widget-usage/admin-page.php" );
     37require_once( __DIR__ . "/admin-pages/widget-usage.php" );
     38require_once( __DIR__ . "/admin-pages/custom-css-usage.php" );
Note: See TracChangeset for help on using the changeset viewer.