Plugin Directory

Changeset 2961404


Ignore:
Timestamp:
09/01/2023 01:14:59 AM (2 years ago)
Author:
parselearn
Message:

Update to V1.2.1
NumericVal meta value & change field type when create db table field

Location:
meta-optimizer
Files:
21 added
5 edited

Legend:

Unmodified
Added
Removed
  • meta-optimizer/trunk/WPMetaOptimizer.php

    r2961342 r2961404  
    33/*!
    44 * Plugin Name: Meta Optimizer
    5  * Version: 1.2
     5 * Version: 1.2.1
    66 * Plugin URI: https://parsakafi.github.io/wp-meta-optimizer
    77 * Description: You can use Meta Optimizer to make your WordPress website load faster if you use meta information, for example Post/Comment/User/Term metas.
  • meta-optimizer/trunk/inc/Actions.php

    r2961342 r2961404  
    220220                    $objectMetas = get_metadata( $type, $objectID );
    221221
    222                     foreach ( $objectMetas as $metaKey => $metaValue ) {
     222                    foreach ( $objectMetas as $metaKey => $metaValues ) {
    223223                        if ( $this->Helpers->checkInBlackWhiteList( $type, $metaKey, 'black_list' ) === true || $this->Helpers->checkInBlackWhiteList( $type, $metaKey, 'white_list' ) === false )
    224224                            continue;
    225225
    226                         $metaKey   = $this->Helpers->translateColumnName( $type, $metaKey );
    227                         $metaValue = maybe_unserialize( $metaValue );
    228 
    229                         if ( is_array( $metaValue ) && count( $metaValue ) === 1 && isset( $metaValue[0] ) )
    230                             $metaValue = maybe_unserialize( current( $metaValue ) );
    231 
    232                         if ( is_array( $metaValue ) ) {
    233                             $metaValue = [ $metaValue ];
    234                             $metaValue = array_map( 'maybe_unserialize', $metaValue );
    235                             $metaValue = $this->Helpers->reIndexMetaValue( $metaValue );
     226                        $metaKey    = $this->Helpers->translateColumnName( $type, $metaKey );
     227                        $metaValues = array_map( 'maybe_unserialize', $metaValues );
     228
     229                        if ( count( $metaValues ) === 1 && ! is_array( $metaValues[0] ) ) {
     230                            $metaValue = current( $metaValues );
     231                        } else {
     232                            $metaValue = $this->Helpers->reIndexMetaValue( $metaValues );
    236233                        }
    237234
    238235                        $this->Helpers->insertMeta(
    239236                            [
    240                                 'metaType'          => $type,
    241                                 'objectID'          => $objectID,
    242                                 'metaKey'           => $metaKey,
    243                                 'metaValue'         => $metaValue,
    244                                 'checkCurrentValue' => false
     237                                'metaType'  => $type,
     238                                'objectID'  => $objectID,
     239                                'metaKey'   => $metaKey,
     240                                'metaValue' => $metaValue,
    245241                            ]
    246242                        );
  • meta-optimizer/trunk/inc/Helpers.php

    r2961342 r2961404  
    229229
    230230        $value       = maybe_serialize( $metaValue );
     231        $value       = $this->numericVal( $value );
    231232        $columnType  = $this->getFieldType( $value );
    232233        $valueLength = mb_strlen( $value );
     
    260261
    261262        return $addTableColumn;
     263    }
     264
     265    /**
     266     * Get the numeric (integer, float) value of a variable
     267     *
     268     * @param mixed $value The scalar value being converted to an integer or float
     269     *
     270     * @return float|int|mixed|string
     271     */
     272    public function numericVal( $value ) {
     273        if ( is_numeric( $value ) )
     274            if ( intval( $value ) == $value )
     275                return intval( $value );
     276            elseif ( floatval( $value ) == $value )
     277                return floatval( $value );
     278
     279        return $value;
    262280    }
    263281
  • meta-optimizer/trunk/inc/Install.php

    r2961342 r2961404  
    7272            $oldVersion = get_option( 'wp_meta_optimizer_version', '1.0' );
    7373
    74             if ( version_compare( $oldVersion, '1.2', '<' ) ) {
     74            if ( version_compare( $oldVersion, '1.2.1', '<' ) ) {
    7575                $newPluginOptions['import'] = [
    7676                    'post'    => 1,
  • meta-optimizer/trunk/readme.txt

    r2961342 r2961404  
    55Requires at least: 5.0
    66Tested up to: 6.3.1
    7 Stable tag: 1.2
     7Stable tag: 1.2.1
    88Requires PHP: 7.0
    99License: GPLv2 or later
     
    9898== Changelog ==
    9999
     100= 1.2.1 =
     101* NumericVal meta value & change field type when create db table field
     102
    100103= 1.2 =
    101104* Fix bugs effected on save meta array value
Note: See TracChangeset for help on using the changeset viewer.