• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

WooCommerce TM Extra Product Options

Macstuff

Форумчанин
Как заставить плагин WooCommerce TM Extra Product Options работать на woocommerce 4.3.1?
Из-за другого плагина не могу обновлять версию магазина.
 

ADv

Гуру
Местный
Как всегда правы)) Wordpress 4.3.1.
Вылазит такое сообщение "Important: Please run WooCommerce updater before using WooCommerce TM Extra Product Options."
Текущая версия woocommerce 2.3.9
Либо выпилить проверку на версию WooCommerce, что чревато.
Либо же обновить сам плагин TM Extra Product Options..
 

Macstuff

Форумчанин
Либо выпилить проверку на версию WooCommerce, что чревато.
Либо же обновить сам плагин TM Extra Product Options..
Woocommerce обновить не смогу из-за другого плагина.
Подскажите как удалить проверку версии?

Возможно у кого то из форумчан есть старая версия плагина TM Extra Product Options
 

searchingman

Гуру
Местный
Woocommerce обновить не смогу из-за другого плагина.
Подскажите как удалить проверку версии?

Возможно у кого то из форумчан есть старая версия плагина TM Extra Product Options
Попробуйте поискать в исходниках по сочетанию "Important: Please run WooCommerce updater before using WooCommerce TM Extra Product Options."
 

Macstuff

Форумчанин
Попробуйте поискать в исходниках по сочетанию "Important: Please run WooCommerce updater before using WooCommerce TM Extra Product Options."
Находил и пробовал закоментировать эту строчку, а так же пробовал удалить весь файл целиком. Результат один, белый экран и не грузится ни админка, ни сайт.
Код:
<?php
// Direct access security
if (!defined('TM_EPO_PLUGIN_SECURITY')){
    die();
}

final class TM_EPO_CHECK_base {

    protected static $_instance = null;

    public static function instance() {
        if ( is_null( self::$_instance ) ) {
            self::$_instance = new self();
        }
        return self::$_instance;
    }

    function __construct() {
        add_action( 'admin_init', array( $this, 'check_version' ) );

        if ( ! self::compatible_version() ) {
            return;
        }
        add_action( 'plugins_loaded', array( $this, 'wcml_check' ) );
        //self::wcml_check();
    }

    function init() {
       
    }

    function wcml_check() {
        if(defined('WCML_VERSION') && class_exists('woocommerce_wpml') && get_magic_quotes_gpc()){
            add_action( 'admin_notices', array( $this, 'wcml_notice' ) );
        }
    }
    function wcml_notice() {
        $message = sprintf(__('%sImportant:%s WooCommerce Multilingual plugin is not supported and will cause loss of data.',TM_EPO_TRANSLATION),
            '<strong>', '</strong>');
            
        echo '<div class="error fade"><h4>TM Extra Product Options</h4><p>' . $message . '</p></div>' . "\n";      
    }

    function check_version() {
        if ( ! self::compatible_version() ) {
            if ( is_plugin_active( plugin_basename( __FILE__ ) ) ) {
                deactivate_plugins( plugin_basename( __FILE__ ) );
                add_action( 'admin_notices', array( $this, 'disabled_notice' ) );
                if ( isset( $_GET['activate'] ) ) {
                    unset( $_GET['activate'] );
                }
            }
        }
        if ( self::old_version() ) {
            deactivate_plugins( 'woocommerce-tm-custom-price-fields/tm-woo-custom-prices.php' );
            add_action( 'admin_notices', array( $this, 'deprecated_notice' ) );
        }
        if ( ! self::woocommerce_check() ) {
            add_action( 'admin_notices', array( $this, 'disabled_notice_woocommerce_check' ) );
        }

    }

    function disabled_notice_woocommerce_check() {
        $message = sprintf(__('%sImportant:%s WooCommerce TM Extra Product Options requires %sWooCommerce%s 2.1 or later.',TM_EPO_TRANSLATION),
            '<strong>', '</strong>','<a href="http://wordpress.org/extend/plugins/woocommerce/">','</a>');

        if (tm_woocommerce_check_only()){           
            $message = sprintf( __( '%sImportant:%s Please run WooCommerce updater before using WooCommerce TM Extra Product Options.',
             TM_EPO_TRANSLATION ),
             '<strong>', '</strong>');
        }
        echo '<div class="error fade"><p>' . $message . '</p></div>' . "\n";      
    }

    function deprecated_notice() {
        $active_plugins = apply_filters( 'active_plugins', get_option('active_plugins' ) );
           
            if ( in_array( 'woocommerce-tm-custom-price-fields/tm-woo-custom-prices.php', $active_plugins ) ){
                $deactivate_url = 'plugins.php?action=deactivate&plugin=' . urlencode( 'woocommerce-tm-custom-price-fields/tm-woo-custom-prices.php' ) . '&plugin_status=all&paged=1&s&_wpnonce=' . urlencode( wp_create_nonce( 'deactivate-plugin_woocommerce-tm-custom-price-fields/tm-woo-custom-prices.php' ) );
                $message = '<strong>Important:</strong> It is highly recommended that you <a href="' . esc_url( admin_url( $deactivate_url ) ) . '"> deactivate the old Custom Price Fields</a> plugin.';
                echo '<div class="error fade"><p>' . $message . '</p></div>' . "\n";
            }else{
                $delete_url = 'plugins.php?action=delete-selected&checked%5B0%5D=' . urlencode( 'woocommerce-tm-custom-price-fields/tm-woo-custom-prices.php' ) . '&plugin_status=all&paged=1&s&_wpnonce=' . urlencode( wp_create_nonce( 'bulk-plugins' ) );
                $message = '<strong>Important:</strong> It is highly recommended that you <a href="' . esc_url( admin_url( $delete_url ) ) . '"> delete the old Custom Price Fields</a> plugin.';
                echo '<div class="error fade"><p>' . $message . '</p></div>' . "\n";
            }      
    }

    function disabled_notice() {
        $message = sprintf(__('%sImportant:%s WooCommerce TM Extra Product Options requires WordPress 3.5 or later.',TM_EPO_TRANSLATION),
            '<strong>', '</strong>');
            
        echo '<div class="error fade"><p>' . $message . '</p></div>' . "\n";      
    }

    public function stop_plugin(){
        if ( ! self::compatible_version() ) {
            return true;
        }
        if ( self::old_version() ) {
            return true;
        }
        if ( ! self::woocommerce_check() ) {
            return true;
        }

        return false;
    }

    static function activation_check() {
        if ( ! self::compatible_version() ) {
            deactivate_plugins( plugin_basename( __FILE__ ) );
            wp_die( __( 'WooCommerce TM Extra Product Options requires WordPress 3.5 or later.', TM_EPO_TRANSLATION ) );
        }
       
        set_transient( '_tm_activation_redirect', 1, HOUR_IN_SECONDS );
    }

    static function compatible_version() {
        if ( version_compare( $GLOBALS['wp_version'], '3.5', '<' ) ) {
             return false;
         }

        return true;
    }

    static function old_version() {
        if (  class_exists( 'TM_Custom_Prices' )  )  {
             return true;
         }

        return false;
    }
   
    static function woocommerce_check() {
        if ( tm_woocommerce_check() && !version_compare( get_option( 'woocommerce_db_version' ), '2.1', '<' ) )  {
             return true;
         }

        return false;
    }

}


?>
 

searchingman

Гуру
Местный
Как всегда правы)) Wordpress 4.3.1.
Вылазит такое сообщение "Important: Please run WooCommerce updater before using WooCommerce TM Extra Product Options."
Текущая версия woocommerce 2.3.9
Согласно требованиям к плагину он полностью совместим для связки Wordpress 4.3.1 + WooCommerce 2.3.9
В исходниках плагина (версия 4.x) ограничение на версии (WP не ниже 3.5, WooCommerce не ниже 2.1).
 

asX

Новичок
Добро времени суток!
Почему тип цены "price * step" работает неправильно? И знает ли кто, как это пофиксить?
Или может я чего не понимаю?
Например, минимальное значение — 0; максимальное 150; размер стэпа (далее — шагов) — 30. Т.е. выходит, что 5 шагов получается.
Предположим, цена товара — 100, при типе "price * step" должно получиться максимум 500 (цена товара * число максимальных шагов). Почему он вычисляет по формуле 100 * 150 (цена * значение) и выдает 15000?
Спасибо.
 

can_do

Новичок
Добро времени суток!
Почему тип цены "price * step" работает неправильно? И знает ли кто, как это пофиксить?
Или может я чего не понимаю?
Например, минимальное значение — 0; максимальное 150; размер стэпа (далее — шагов) — 30. Т.е. выходит, что 5 шагов получается.
Предположим, цена товара — 100, при типе "price * step" должно получиться максимум 500 (цена товара * число максимальных шагов). Почему он вычисляет по формуле 100 * 150 (цена * значение) и выдает 15000?
Спасибо.

У вас не понятно за что цена и какая она. Могу быть варианты указана цена штуку, а может быть за килограм или за 100 грамм.
 
Сверху Снизу