Title: Cron и таксаномии
Last modified: 02.03.2016

---

# Cron и таксаномии

 *  Решено [dsqwared](https://ru.wordpress.org/support/users/dsqwared/)
 * (@dsqwared)
 * [10 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/)
 * Здравствуйте…
    Столкнулся с такой проблемой, может кто поможет, вчера убил весь
   день…
 * есть два файла
    file1.php
 *     ```
       <?php
       function export() {
       $term_list = wp_get_post_terms($the_post_id, 'property_category');
       mail("email@mail.ua","subject",print_r($term_list,1));
       }
       ?>
       ```
   
 * file2.php
 *     ```
       <form method="post">
       <input type="submit" id="export_to_xls" name="export_to_xls" style="float: left;" type="submit" value="export_to_xls">
       </form>
   
       <?php
       if(isset($_POST['export_to_xls']))
       {
       include_once dirname(__FILE__).'/../../../actions/file1.php';
       export();
       }
       ?>
       ```
   
 * **Вот так по нажатию кнопки отправляется мейл с таксаномией все ок!!!!**
 * а если делать вызов функции через CRON выдает ошибку WP_ERROR, не видит таксаномии
   почему-то.
 * помогите пожалуйста, как победить, осталось дописать маленький кусок кода, никак
   не могу продвинуться.

Просмотр 15 ответов — с 1 по 15 (всего 16)

1 [2](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/page/2/?output_format=md)
[→](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/page/2/?output_format=md)

 *  Модератор [Denis Yanchevskiy](https://ru.wordpress.org/support/users/denisco/)
 * (@denisco)
 * WordPress-разработчик, denisco.pro
 * [10 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/#post-201526)
 * Здравствуйте.
 * > $term_list = wp_get_post_terms($the_post_id, ‘property_category’);
 * А $the_post_id откуда берется?
 *  Автор [dsqwared](https://ru.wordpress.org/support/users/dsqwared/)
 * (@dsqwared)
 * [10 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/#post-201528)
 *     ```
       $exportQuery = new WP_Query( array( 'post_type' => $exportOptions['cpt'], 'orderby' => 'title', 'order' => 'ASC', 'posts_per_page'=> -1 ));			
   
       while ( $exportQuery->have_posts() ) :
       $the_post_id = (get_the_ID())? get_the_ID():$exportQuery->post->ID;
       ...
       ```
   
 * кстати когда кроном вызываю функцию
    get_the_ID() = NULL
 * приходится из sql запроса брать post_id
 *  Автор [dsqwared](https://ru.wordpress.org/support/users/dsqwared/)
 * (@dsqwared)
 * [10 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/#post-201529)
 * вначале написал супер упрощенный вариант кода.. чтобы не путать вас
 *  Модератор [Denis Yanchevskiy](https://ru.wordpress.org/support/users/denisco/)
 * (@denisco)
 * WordPress-разработчик, denisco.pro
 * [10 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/#post-201531)
 * > кстати когда кроном вызываю функцию
   >  get_the_ID() = NULL
   > приходится из sql запроса брать post_id
 * А если после
 *     ```
       while ( $exportQuery->have_posts() ) :
       ```
   
 * написать
 *     ```
       $exportQuery->the_post();
       ```
   
 * и после этого вызвать get_the_ID() появляется значение?
 *  Автор [dsqwared](https://ru.wordpress.org/support/users/dsqwared/)
 * (@dsqwared)
 * [10 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/#post-201532)
 * хоть бери и sql запросом вытягивать term_id по post_id
    но это уже крайний вариант,
   хочу понять, что не так?
 *  Модератор [Denis Yanchevskiy](https://ru.wordpress.org/support/users/denisco/)
 * (@denisco)
 * WordPress-разработчик, denisco.pro
 * [10 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/#post-201533)
 * > но это уже крайний вариант, хочу понять, что не так?
 * Я думаю, при вызове с помощью CRON — WordPress-окружение не подгружается и функции
   работают некорректно.
 * Попробуйте добавить нечто подобное перед получением данных:
 *     ```
       $path = 'ПУТЬ_ДО_КОРНЕВОЙ_ДИРЕКТОРИИ_WORDPRESS';
   
       include_once $path . '/wp-config.php';
       include_once $path . '/wp-load.php';
       include_once $path . '/wp-includes/wp-db.php';
       include_once $path . '/wp-includes/pluggable.php';
       ```
   
 *  Модератор [Sergey Biryukov](https://ru.wordpress.org/support/users/sergeybiryukov/)
 * (@sergeybiryukov)
 * Live and Learn
 * [10 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/#post-201535)
 * Достаточно `wp-load.php` 🙂
 *  Автор [dsqwared](https://ru.wordpress.org/support/users/dsqwared/)
 * (@dsqwared)
 * [10 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/#post-201536)
 * да, после $exportQuery->the_post(); get_the_ID() заработал )
 *  Автор [dsqwared](https://ru.wordpress.org/support/users/dsqwared/)
 * (@dsqwared)
 * [10 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/#post-201538)
 * все-равно
    выдает на мыло
 *     ```
       WP_Error Object
       (
           [errors] => Array
               (
                   [invalid_taxonomy] => Array
                       (
                           [0] => Неверная таксономия
                       )
   
               )
   
           [error_data] => Array
               (
               )
   
       )
       ```
   
 * уже подключил все
 *     ```
       include_once ABSPATH.'wp-load.php';
       include_once ABSPATH. 'wp-config.php';
       include_once ABSPATH . '/wp-includes/wp-db.php';
       include_once ABSPATH . '/wp-includes/pluggable.php';
       ```
   
 *  Автор [dsqwared](https://ru.wordpress.org/support/users/dsqwared/)
 * (@dsqwared)
 * [10 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/#post-201542)
 * У кого есть решение, все еще актуально!!
 * времянку пока сделаю так
 *     ```
       SELECT wp_terms.term_id FROM wp_terms
       INNER JOIN wp_term_taxonomy ON wp_terms.term_id  = wp_term_taxonomy.term_id
       INNER JOIN wp_term_relationships ON wp_term_taxonomy.term_taxonomy_id = wp_term_relationships.term_taxonomy_id
       INNER JOIN wp_posts ON wp_posts.ID = wp_term_relationships.object_id
       INNER JOIN wp_postmeta ON(wp_posts.ID = wp_postmeta.post_id)
       where wp_posts.ID = 20456
       and wp_postmeta.meta_key = 'property_status'
       and wp_term_taxonomy.taxonomy = 'property_category'
       ```
   
 *  Модератор [Sergey Biryukov](https://ru.wordpress.org/support/users/sergeybiryukov/)
 * (@sergeybiryukov)
 * Live and Learn
 * [10 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/#post-201547)
 * Функция вызывается через планировщик, встроенный в WordPress, или внешний? В 
   первом варианте файлы подключать не нужно, они уже подключены.
 * > вначале написал супер упрощенный вариант кода.. чтобы не путать вас
 * Предполагаю, что отправка выполняется раньше, чем регистрируется таксономия —
   нужно привязать вызов функции к действию `wp_loaded` или более позднему.
 * Было бы здорово посмотреть весь код, иначе гадать можно долго 🙂
 *  Автор [dsqwared](https://ru.wordpress.org/support/users/dsqwared/)
 * (@dsqwared)
 * [10 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/#post-201555)
 * я так понял, в самом шаблоне добавляется несколько таксаномий в постип,
    а при
   вызове крона, он эти таксаномии не видит… видит только стандартные…
 *  Автор [dsqwared](https://ru.wordpress.org/support/users/dsqwared/)
 * (@dsqwared)
 * [10 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/#post-201556)
 * т.е. не он, а функция которую он вызывает…
 * сейчас попробовал вызвать по кнопке функцию… $wp_taxonomies выдал все что надо…
 * а кроном только стандартные $wp_taxonomies
 *  Автор [dsqwared](https://ru.wordpress.org/support/users/dsqwared/)
 * (@dsqwared)
 * [10 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/#post-201557)
 * это что надо перечитывать весь шаблон сайта, чтобы подтянулись все что он добавляет?
 *  Автор [dsqwared](https://ru.wordpress.org/support/users/dsqwared/)
 * (@dsqwared)
 * [10 лет, 7 месяцев назад](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/#post-201563)
 * в общем через родной крон так ничего не получилось,
    сделал так:
 * отключил WP-cron define(‘DISABLE_WP_CRON’, true);
    установил так-же define(‘ALTERNATE_WP_CRON’,
   true); в wp-config
 * зашел на хостинг и п в планировщике настроил запуск wp-cron.php
 * теперь все работает как надо.
 * может кому пригодится

Просмотр 15 ответов — с 1 по 15 (всего 16)

1 [2](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/page/2/?output_format=md)
[→](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/page/2/?output_format=md)

 Тема «Cron и таксаномии» закрыта для новых ответов.

## Метки

 * [cron](https://ru.wordpress.org/support/topic-tag/cron/)
 * [WP_Error](https://ru.wordpress.org/support/topic-tag/wp_error/)
 * [wp_get_post_terms](https://ru.wordpress.org/support/topic-tag/wp_get_post_terms/)

 * Форум: [Проблемы и решения](https://ru.wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 16 ответов
 * 4 участника
 * Последний ответ: [Redfox](https://ru.wordpress.org/support/users/r3df0x555/)
 * Последняя активность: [10 лет назад](https://ru.wordpress.org/support/topic/cron-%d0%b8-%d1%82%d0%b0%d0%ba%d1%81%d0%b0%d0%bd%d0%be%d0%bc%d0%b8%d0%b8/page/2/#post-222298)
 * Статус: решённая

## Темы

### Самые популярные темы

### Темы без ответов

### Без вопроса

### Решённые

### Нерешённые

### Все темы
