@zeni1agent

Могу ли я загружать скрипты в зависимости от того какой файл темы или мето-поле задействовано?

Мне необходимо загружать скрипты и стили в зависимости от того на какой я нахожусь страничке single, page, home.
Или какое мето-поле существует
И все пути хранить в function.php

function wp_code() {
    // мой код
if (get_post_meta(get_the_ID(), 'pole', true)){
 	echo '<script   src="' . get_template_directory_uri() . 'js/js_code.js" type="text/javascript"></script>';
 	echo '<link rel="stylesheet" href="' . get_template_directory_uri() . 'css/style.css">';
}
}
add_action( 'wp_head', 'wp_code', 9999 );

Проблема в том что через function.php не видно мето полей.
Есть ли у кого советы как это сделать?
  • Вопрос задан
  • 50 просмотров
Решения вопроса 1
wppanda5
@wppanda5 Куратор тега WordPress
WordPress Mедведь
function wp_code() {

	if ( is_singular() ) :
		global $post;
		$meta = get_post_meta( $post->ID, 'field_key', true );
		if ( ! empty( $meta ) ) {
			wp_enqueue_script( 'bla-bla-bla', get_template_directory_uri() . 'js/js_code.js' );
			wp_enqueue_style( 'bla-bla-bla', get_template_directory_uri() . 'css/style.css' );
		}
	endif;

}

add_action( 'wp_enqueue_scripts', 'wp_code' );
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Откройте functions.php, найдите где подключается нужный файл и сделайте условие, типа:
if( is_single() ) {
    wp_enqueue_script( 'youtube', get_bloginfo('template_url') . '/assets/js/youtube-player.js', null, null, true);
}

для page и home по аналогии
Примеры:
https://wp-kama.ru/function/is_page

А мета поле видно только в цикле, поэтому такое использование мягко говоря не совсем хороший вариант! Ну если очень хочется, то в файле single.php в цикле сделайте проверку и подключите js или что Вам там нужно. Для home и page в соответствующих файлах.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы