Somente função de saída de funções.php se a tag condicional for verdadeira

wordpress.stackexchange https://wordpress.stackexchange.com/questions/151335

  •  28-09-2020
  •  | 
  •  

Pergunta

Estou usando Masonry (incluído no WP 3.9) no meu tema childe.

eu segui este tutorial.

Em seu código para funções.php eles usam instruções condicionais:

if ( ! is_admin() ) :
function slug_scripts_masonry() {
    wp_enqueue_script('masonry');
    wp_enqueue_style('masonry’, get_template_directory_uri().'/css/’);
}
add_action( 'wp_enqueue_scripts', 'slug_scripts_masonry' );
endif; //! is_admin()

O !is_admin parece funcionar, porque quando procuro a fonte, não consigo encontrar nada.No entanto, meu objetivo é permitir que essa função seja executada apenas quando estivermos em uma página de taxonomia.No entanto, alterando-o para:

if ( is_tax() ) :
    function slug_scripts_masonry() {
        wp_enqueue_script('masonry');
        wp_enqueue_style('masonry’, get_template_directory_uri().'/css/’);
    }
    add_action( 'wp_enqueue_scripts', 'slug_scripts_masonry' );
    endif; 

não funciona!Não inclui mais lugar nenhum!O que estou fazendo de errado?

Foi útil?

Solução

Mova a condicional is_tax() dentro da função slug_scripts_masonry.

function slug_scripts_masonry() {
    if ( is_tax() ) {
        wp_enqueue_script( 'masonry' );
        wp_enqueue_style( 'masonry', get_template_directory_uri().'/css/' );
    }
}

add_action( 'wp_enqueue_scripts', 'slug_scripts_masonry' );

Como o Wordpress ainda não executou o código que determina o resultado de is_tax() ele retornará false em todas as páginas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a wordpress.stackexchange
scroll top