Добавить внешний css в контактную страницу

Я пытаюсь добавить пользовательский CSS в мою контактную форму в wordpress, которая является страницей wp, которая загружается на mysite.com/contact. Я не хочу редактировать какие-либо существующие коды, я хочу сделать это, написав простой плагин. (На самом деле основная цель – скрыть компонент google maps на этой странице контактов, добавив стиль, чтобы сделать его "display:none;" )

Я знаю, что могу использовать wp_enqueue_style() для этого, но я не знаю, к какому действию я должен подключиться. Я хочу загрузить этот css (добавьте этот css в существующий контакт для css) только при необходимости, когда страница контактной формы загрузится.

Как я могу это достичь?

Какое из них – правильное действие?

И если бы я поставил вопрос более общим: «Какое действие следует использовать для загрузки пользовательского CSS при загрузке страницы wordpress?»

Solutions Collecting From Web of "Добавить внешний css в контактную страницу"

Я чувствую, что вы пытаетесь усложнить ситуацию здесь. То, что вы хотите достичь, было бы проще в child theme . Это то, что я хотел бы рассмотреть, поскольку это действительно что-то простое, чего вы хотите достичь.

Все, что вам просто нужно будет сделать, скопируйте шаблон формы контакта в свою дочернюю тему, добавьте пользовательский CSS в этот шаблон и соответствующим образом настройте в своих дочерних темах style.css. Тогда ваша дочерняя тема всегда будет использовать этот шаблон вместо шаблона родительских тем

ИЗМЕНИТЬ 1

Хорошо, кажется, я немного что-то понял.

wp_enqueue_style() используется для правильной установки / добавления таблиц стилей на страницу wordpress. Эти стили доступны для всех страниц. Однако таблицы стилей также могут быть загружены условно с использованием условных тегов . Что это значит, вы можете решить загрузить таблицы стилей только для определенной страницы или только когда существует определенное условие

wp_enqueue_scripts – это подходящий крючок для использования в очереди сценариев и таблиц стилей в интерфейсе.

Итак, вы можете создать свою таблицу стилей и назвать ее pluginstyle.css, например, и добавить свой собственный стиль там. Теперь, в вашем основном файле плагина, вам нужно поставить в очередь эту таблицу стилей. Сначала создайте функцию, в которой вы добавите свой wp_enqueue_style() . Во-вторых, подключите эту функцию к wp_enqueue_scripts . Просто помните, что $src diffirent для родительских тем, дочерних тем и плагинов. Вот пример

 function plugin_stylesheet() { wp_enqueue_style( 'plugin-styles', plugins_url( '/pluginstyle.css', __FILE__ ) ); } add_action( 'wp_enqueue_scripts', 'plugin_stylesheet' ); 

Надеюсь, это ответит на ваш вопрос. Это хорошая идея пойти и посмотреть на функции / крючки, которые я вам только что дал.

EDIT 2

Ваши предположения, сделанные в вашем комментарии, верны. Как я сказал в своем первом редактировании, вам понадобятся условные теги, см. Ссылку, приведенную в этом редактировании.

Для целей вашего вопроса вам нужно будет использовать условный тег is_page_template() для целевой страницы контакта. Поэтому для этого вам нужно будет обернуть wp_enqueue_style() в выражении if который будет проверять, находитесь ли вы на конкретной странице, а если вы есть, то таблица стилей будет загружена, если нет, таблица стилей не будет загружена ,

Только одно, что я забыл упомянуть в редакторе 1, вы также должны указать приоритет, когда добавляете свою функцию в wp_enqueue_scripts hook. По умолчанию это будет 10, поэтому для стилей, которые будут загружены после основной таблицы стилей, вам нужно будет загрузить его позже, таким образом, число выше 10. Я использовал приоритет 999, но это может быть ничего более 10.

Итак, со всем сказанным, вы можете использовать следующее в своем плагине. Просто измените шаблон страницы на тот, который вы используете для своей страницы контактов. Для проверки моего кода я использую тестовую страницу (template page-test.php).

 function plugin_stylesheet() { if(is_page_template( 'page-test.php' )) { wp_enqueue_style( 'plugin-styles', plugins_url( '/pluginstyle.css', __FILE__ ) ); ); } } add_action( 'wp_enqueue_scripts', 'plugin_stylesheet', 999 );