WordPress

Woocommerce orders table columns

January 13, 2023
// Add new columns (or reorder columns)
add_filter( 'manage_edit-shop_order_columns', 'custom_shop_order_column', 20 );
function custom_shop_order_column($columns) {
    $reordered_columns = array();

    foreach( $columns as $key => $column){
        $reordered_columns[$key] = $column;
        if( $key ==  'column_id' ){ // column_id - id of the column after which you want to place the new column.
        // It can be an already existing column, then in this way you can change the order of the columns
            $reordered_columns['new_column_id'] = __( 'New Column Title','textdomain');
        }
        if( $key ==  'other_column_id' ){
            $reordered_columns['other_new_column_id'] = __( 'Other New Column Title','textdomain');
        }
    }
    return $reordered_columns;
}

// Add content for new columns
add_action( 'manage_shop_order_posts_custom_column' , 'custom_orders_list_column_content', 20, 2 );
function custom_orders_list_column_content( $column, $post_id ) {
    switch ( $column ) {
        case 'other_column_id' :
            $payment_method = get_post_meta( $post_id, '_payment_method', true ); // get peyment method for example
            if(!empty($payment_method))
                echo $payment_method
            break;
    }
}

Тут могла быть ваша реклама.

Share WordPress Posts or Pages via Email link

May 19, 2022

Просто вставить этот код в шаблон страницы:

<a href="mailto:type email address here?subject=I wanted to share this post with you from <?php bloginfo('name'); ?>&body=<?php the_title('','',true); ?>&#32;&#32;<?php the_permalink(); ?>" title="Email to a friend/colleague" target="_blank">Share via Email</a>

Тут могла быть ваша реклама.

JotForm. Динамичные значения полей формы

March 12, 2021

Есть такой сервис для создания форм обратных связей и интеграции их на сайт – JotForm. Прикол в том, что одну и ту же форму можно добавить на разные страницы, но добавляется она через iframe. Потому, если есть необходимость добавить в форму поле, которое должно содержать, например, название страницы (динамическое значение), то для этого есть способ, но в документации и на форумах он описан криво и в предложенном виде работать не будет. Мне пришлось найти его методом тыка и сейчас я опишу, как же всё-таки это делается правильно.
Для начала нужно в редакторе формы создать поле, в которое будет подставляться нужное значение.

Например:

1. Добавляем текстовое поле:

2. Идём в настройки этого поля:

3. Задаём для поля уникальное имя:

4. Идём во вкладку PUBLISH (в верхней части страницы на оранжевой полосе) и открываем форму для просмотра, нажав на кнопку “Open in new tab”:

5. Тут нам нужно открыть консоль браузера (в chrome  – F12) и посмотреть, какое имя присвоил jotForm нашему полю (в моём случае q23_jobTitle):

Нам нужна та его часть, что идёт после “_”, т.е. в моём случае jobTitle.

6. Затем возвращаемся во вкладку PUBLISH -> EMBED -> IFRAME и копируем оттуда код.

 

7. Добавляем его в нужное место на странице нашего сайта, но с одним изменением: в атрибут src добавляем get-параметры с именами наших полей, а в качестве их значений уже пишем то, что ним нужно:

Вся эта информация была на куче форумов и в документации самого jotForm за одним исключением – там ни слова не было о том, что префикс из имени поля брать не нужно.


Тут могла быть ваша реклама.

Добавляем атрибут defer к скриптам для повышения скорости загрузки страниц

February 4, 2021
function defer_parsing_of_js( $url ) {
    if ( is_user_logged_in() ) return $url; //don't break WP Admin
    if ( FALSE === strpos( $url, '.js' ) ) return $url;
    if ( strpos( $url, 'jquery.js' ) ) return $url;
    return str_replace( ' src', ' defer src', $url );
}
add_filter( 'script_loader_tag', 'defer_parsing_of_js', 10 );

Тут могла быть ваша реклама.

Добавляем пункт настроек поля ACF в админку

June 8, 2017

Всё, что нужно, для добавления в левую панель администратора WordPress пункта с настройками кастомного поля – добавить следующий код в файл functions.php:

if( function_exists( 'acf_add_options_page' ) ) {
    acf_add_options_page( 'Название пункта' );
}

Где ‘Название пункта’ – это то, что будет отображаться в качестве названия данного пункта меню на панели администратора.
После этого при создании кастомного поля можно будет выбрать этот пункт меню для страницы настроек данного поля


Тут могла быть ваша реклама.

Members Area

March 24, 2017

Сегодня довелось работать на сайте, для которого требовалось создать контент, видимый только для залогиненных пользователей. Это была страница, которая и в меню показывалась только залогиненным юзерам. И как оказалось, сделать это довольно просто:

  1. Нужно создать шаблон для страницы с определёнными условиями,
  2. Создать копию меню для залогиненных пользователей,
  3. Прописать пару строчек кода в файле functions.php.

А теперь подробнее. Для начала создаём шаблон для страницы, которая будет видна только избранным. Делается это так: копируем файл, отвечающий за отображение страницы (по умолчанию – page.php) и называем её так, чтобы было понятно, что это шаблон страницы для залогиненных юзеров, например template-only-members.php. Затем открываем его в текстовом редакторе и в самом верху добавляем строчку, которая определит этот файл, как шаблон.

/* Template Name: Template Only For Members */

Где Template Only For Members – это название шаблона, которое будет отображаться при выборе его на странице редактирования… страницы. Имя может быть любым.
Ещё необходимо добавить вот такой код в тело страницы:

if ( is_user_logged_in() ) {
    // Контент страницы
} else {
    // То, что будет показано вместо контента
    // незарегистрированным пользователям
}

Теперь можно применить шаблон к нужной странице.

Теперь можно добавить страницу в меню. Чтобы не зарегистрированные пользователи не видели этого пункта меню, нужно сделать так, как описано в этой статье.

 


Тут могла быть ваша реклама.