Msgstr "Невозможно redeclare cpt_reg_tax ()" из-за functions.php

Предпосылки: У меня есть папка childtheme моей темы WordPress, которая содержит функцию functions.php. В этом functions.php, в начале, я написал код для настройки настраиваемого типа сообщений, который позволяет пользователю добавлять события на сайт. Все работало нормально до сегодняшнего дня, когда в том же файле я добавил код для другого отдельного настраиваемого типа сообщений, который позволяет пользователю добавлять людей.

Проблема: добавив второй код пользовательского сообщения, я больше не могу войти на свой сайт.

Причина проблемы: через файлы журналов ошибок моего поставщика домена я обнаружил, что мой код для регистрации «места» как категории вызывает проблему. Я попытался зарегистрировать эту таксономию с помощью add_action('init', 'cpt_reg_tax'); , за которым следует function cpt_reg_tax() { // code }; Теперь вот что сообщает мне файл журнала ошибок: PHP Fatal error: Cannot redeclare cpt_reg_tax() (previously declared in ...

Дело в том, что пользовательский тип сообщений в начале функции. Php Я уже зарегистрировал таксономию. Но почему PHP не разрешил мне регистрировать другую таксономию для другого отдельного настраиваемого типа сообщений, который появляется позже в файле?

Как мне добиться того, что я могу зарегистрировать таксономию для своего второго пользовательского типа сообщений, который я закодировал сегодня, не возвращая снова ошибку повторного использования?

Solutions Collecting From Web of "Msgstr "Невозможно redeclare cpt_reg_tax ()" из-за functions.php"

Вы не можете использовать одно и то же имя функции более одного раза. Дайте второй функции другое имя:

 add_action( 'wp_loaded', 'cpt_reg_tax1' ); function cpt_reg_tax1() { // code for the first taxonomy here } add_action( 'wp_loaded', 'cpt_reg_tax2' ); function cpt_reg_tax2() { // code for the second taxonomy here } 

Кроме того, ваш код будет ужасным для многих пользователей, потому что пользовательские типы сообщений и таксономии являются плагинами .