[Инфо] Wordpress: плюшки файла functions.PHP ))

Тема в разделе "Wordpress", создана пользователем Красавчег, 10 окт 2012.

Модераторы: Sorcus
  1. Varrcan

    Varrcan Создатель

    Регистр.:
    7 апр 2012
    Сообщения:
    27
    Симпатии:
    21
    Готово. Добавил в плагин стандартное удаление rel_canonical и удаление хука в Yoast SEO

    Код:
    remove_action('wp_head', 'rel_canonical');
    add_filter('wpseo_canonical', '__return_false')
    Проверяйте )
     
    ezh88 нравится это.
  2. ezh88

    ezh88 Создатель

    Регистр.:
    26 янв 2016
    Сообщения:
    22
    Симпатии:
    1
    Ага, работает, спасибо! :)

    А может всё запхать, что выше из кода?
    Взял отсюда :)
     
  3. Myles

    Myles Писатель

    Регистр.:
    11 июн 2015
    Сообщения:
    6
    Симпатии:
    1
    А можно - ли как - то скрывать/показывать поля регистрации на странице оформления заказа в зависимости от способа доставки?
     
  4. Nightfaust

    Nightfaust Постоялец

    Регистр.:
    4 апр 2013
    Сообщения:
    52
    Симпатии:
    19
    А тему прочитать никак? Хотя-бы первый пост.
    Для справки functions.php подключается во время инициализации текущей темы, после того, как подключены все функции WordPress и все активные плагины.
    Модификация файла расширяет возможности темы/убирает ненужный функционал etc.
     
  5. unnell

    unnell Создатель

    Регистр.:
    28 июл 2013
    Сообщения:
    15
    Симпатии:
    6
    Доп поля при оформлении заказа
    Код:
    
    
    
    
    
    
    
    // Add a new checkout field
    function kia_filter_checkout_fields($fields){
        $fields['extra_fields'] = array(
                'f1' => array('type' => 'text', 'required'      => false, 'label' => 'Название компании'),
                'f2' => array('type' => 'text', 'required'      => false, 'label' => 'Юридический адрес'),
                'f3' => array('type' => 'number', 'required'      => false, 'label' => 'ИНН'),
                'f4' => array('type' => 'number', 'required'      => false, 'label' => 'КПП'),
                'f5' => array('type' => 'text', 'required'      => false, 'label' => 'Контактное лицо'),
                'f6' => array('type' => 'email', 'required'      => false, 'label' => 'E-Mail'),
                'f7' => array('type' => 'text', 'required'      => false, 'label' => 'Телефон'),
                'f8' => array('type' => 'text', 'required'      => false, 'label' => 'Факс'),
                'f9' => array('type' => 'number', 'required'      => false, 'label' => 'Индекс'),
                'f10' => array('type' => 'text', 'required'      => false, 'label' => 'Местоположение'),
                'f11' => array('type' => 'textarea', 'required'      => false, 'label' => 'Адрес доставки'),
        );
        return $fields;
    }
    add_filter( 'woocommerce_checkout_fields', 'kia_filter_checkout_fields' );
    
    // display the extra field on the checkout form
    function kia_extra_checkout_fields(){
    
        $checkout = WC()->checkout(); ?>
    
        <div class="extra-fields">
            <div class="row clicker" ><h3>Юридическим лицам</h3> <i class="fa fa-angle-down"></i><i class="fa fa-angle-up" aria-hidden="true"></i></div>
            <div class="hide09">
                <?php foreach ( $checkout->checkout_fields['extra_fields'] as $key => $field ) : ?>
                    <?php woocommerce_form_field( $key, $field, $checkout->get_value( $key ) ); ?>
                <?php endforeach; ?>
            </div>
        </div>
    
    <?php }
    
    
    
    
    
    add_action( 'woocommerce_checkout_after_customer_details' ,'kia_extra_checkout_fields' );
    
    // save the extra field when checkout is processed
    function kia_save_extra_checkout_fields( $order_id, $posted ){
       
        $checkout = WC()->checkout();
       
         foreach ( $checkout->checkout_fields['extra_fields'] as $key => $field ) :
            if( isset( $posted[$key] ) ) { update_post_meta( $order_id, '_'.$key, sanitize_text_field( $posted[$key] ) ); }
        endforeach;
    
    }
    add_action( 'woocommerce_checkout_update_order_meta', 'kia_save_extra_checkout_fields', 10, 2 );
    
    // display the extra data in the order admin panel
    function kia_display_order_data_in_admin( $order ){
    
    $ar = array(1=>'Название компании',  'Юридический адрес', 'ИНН', 'КПП', 'Контактное лицо', 'E-Mail', 'Телефон', 'Факс', 'Индекс', 'Местоположение', 'Адрес доставки');
    
    ?>
        <div class="order_data_column">
            <h4>Юридическим лицам</h4>
            <?php
            for($i = 1;$i <= 11; $i++){
                echo '<p><strong>' .$ar[$i] . ':</strong>' . get_post_meta( $order->id, '_f'.$i, true ) . '</p>';
            } ?>
        </div>
    <?php }
    add_action( 'woocommerce_admin_order_data_after_order_details', 'kia_display_order_data_in_admin' );