Exclui a taxonomia personalizada dos resultados da pesquisa e das páginas de arquivo

4

ATUALIZAÇÃO: Eu tenho o seguinte código funcionando. Exclui a taxonomia dos resultados da pesquisa. No entanto, gostaria que isso acontecesse somente se um usuário não estivesse conectado. O código abaixo está entrando em vigor para usuários conectados e desconectados. Como posso verificar se alguém está logado no arquivo functions.php? Eu tentei! Is_user_logged_in () muitas vezes, e eu não consigo fazer isso funcionar? Obrigado por qualquer ajuda!

add_filter( 'pre_get_posts', 'exclude_pages_search_when_logged_out' );
function exclude_pages_search_when_logged_out($query) {
    if ( $query->is_search && !is_user_logged_in() ) {

      $tax_query = array([
            'taxonomy' => 'wpfc_service_type',
            'field' => 'term_id',
            'terms' => [ 505 ],
            'operator' => 'NOT IN',
        ]);

        $query->set( 'tax_query', $tax_query );

        }

    return $query;
} 

PERGUNTA ORIGINAL

I'm trying to exclude the taxonomy 'wpfc_service_type', term 505, from my search results and archive pages. I've added the following to my functions.php file, but it doesn't seem to be working. What am I doing wrong?

    add_action( 'pre_get_posts', function ( $query ) {
        if ( is_admin() || ! $query->is_main_query() ) {
            return;
        }

        // Exclude Terms by ID from Search and Archive Listings
        if ( is_search() || is_tax( 'wpfc_service_type' ) ) {    
            $tax_query = array([
                'taxonomy' => 'wpfc_service_type',
                'field' => 'term_id',
                'terms' => [ 505 ],
                'operator' => 'NOT IN',
            ]);

            $query->set( 'tax_query', $tax_query );
        }
    }, 11, 1 ); 
    
por McFarnell 27.03.2018 / 06:04

1 resposta

0

Copie o snippet a seguir e cole-o no código do seu tema, preferencialmente no arquivo functions.php:

    /* Exclude a Category from Search Results */

    add_filter( 'pre_get_posts' , 'search_exc_cats' );
    function search_exc_cats( $query ) {

    if( $query->is_admin )
    return $query;

    if( $query->is_search ) {
    $query->set( 'category__not_in' , array( 30 ) ); // Cat ID
    }
    return $query;
    }
    
por AddWeb Solution Pvt Ltd 27.03.2018 / 14:37