Получение почтовых терминов внутри PHP класса - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь создать плагин, чтобы создать несколько дубликатов для меня. Мне нужно продублировать пост, в котором есть категории из пользовательской таксономии. Я отправляю новое имя с формой, и у меня есть идентификатор сообщения, которое я хочу скопировать. Теперь, когда я пытаюсь получить условия, я получаю ошибку Invalid taxonomy. Таксономия определена, и когда я print_r() это в файле, где форма, я получаю их, но когда я пытаюсь получить доступ к ним в моем классе, я получаю ошибку. Может кто-нибудь объяснить, почему я не могу получить доступ к терминам поста в классе и как мне это сделать?

Вот краткий пример:

<form method="post" action="action_file.php">
            <label>New Plot Name</label>
            <br />
            <input type="text" placeholder="Plot Name" name="plot_title" />
            <br />
            <button type="submit" name="generate">Generate</button>
</form>

И в моем классе

class CustomDuplicator
{

    function __construct(){
        add_action('init', array($this, 'initFunctions'));
    }

    function initFunctions()
    {
        if (isset($_POST['generate'])) {
            $this->duplicatePage(id, title);
        }
    }


    // Duplicate a Page
    function duplicatePage($page_id, $page_title) {
        $old = get_post($page_id);
        print_r(get_the_terms($page_id, 'taxonomy_name')); // -> Here is where i get the error
        $page = array(
            'post_title' => $page_title,
            'post_status' => 'publish',
            'post_type' => $old->post_type,
            'post_content' => $old->post_content,
            'post_author' => 1
        );
        $newId = wp_insert_post($page);
        $data = get_post_custom($page_id);
        foreach($data as $key => $values) {
            foreach($values as $value) {
                add_post_meta($newId, $key, $value);
            }
        }
        return $newId;
    }


}

ПРИМЕЧАНИЕ. Я успешно продублировал сообщение, но его термины отсутствуют.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...