Intereting Posts
Доступ к страницам WordPress с использованием самостоятельной подписки ssl Определите информацию о теме, кроме как через style.css Как отправить запрос на получение файла file.php справа и где хранить этот файл.php? Пользовательская общая таксономия Woocommerce Как проверить, был ли продукт приобретен в течение последних 365 дней, прежде чем отображать что-либо Все пользовательские сообщения не отображаются Фильтр или манипулятор действия для вставки содержимого на страницах администратора перед тегом </ body> Запретить подачу формы виджетов получить правильный URL-адрес для папки в wp-include wordpress Скрытие определенных панелей на приборной панели Добавление имени пользователя в URL-адрес для перенаправления на определенную страницу Как я могу хранить данные из настраиваемых полей в пользовательских таблицах? Что я могу использовать для небольшого текста при конвертации в WordPress? current_post не работает – дайте мне -1 для каждого сообщения Добавить атрибут id для ссылок на дочерние страницы

Как установить шаблон возврата для пользовательского типа сообщения в плагине?

Мой пользовательский плагин создает настраиваемый тип сообщения, и я хочу использовать тему моего собственного файла "single-my_custom_cpt.php" . Тем не менее, я хочу сохранить его в своей папке плагина и разрешить его переписывать в папку активных тем веб-сайтов.

Например, single-my_custom_cpt.php существует в /plugins/my-plugin/ folder, а кто-то создает /themes/site-theme/single-my_custom_cpt.php . Я хочу, чтобы файл темы появился первым, и если он удален, файл плагина появится.

Solutions Collecting From Web of "Как установить шаблон возврата для пользовательского типа сообщения в плагине?"

Чтобы предоставить шаблон по умолчанию, который можно перезаписать с помощью темы hook в template_include как показывают связанные вопросы. Вы получаете шаблон, который WordPress хочет использовать в качестве параметра. Если это не тот файл, который вы хотите – замените его на файл вашего плагина:

 add_filter( 'template_include', 'wpse_57232_render_cpt', 100 ); /** * Provide fall back template file for a custom post type single view. * * @return void */ function wpse_57232_render_cpt( $template ) { // Our custom post type. $post_type = 'my_custom_cpt'; // WordPress has already found the correct template in the theme. if ( FALSE !== strpos( $template, "/single-$post_type.php" ) ) { // return the template in theme return $template; } // Send our plugin file. if ( is_singular() && $post_type === get_post_type( $GLOBALS['post'] ) ) { // return plugin file return dirname( __FILE__ ) . "/single-$post_type.php"; } // Not our post type single view. return $template; }