Como alterar a chave 'with_front' de um tipo de post personalizado existente?

4

Eu tenho um CPT chamado 'experts', que foi criado em um tema que comprei e não consigo descobrir onde nem onde alterá-lo. Preciso alterar um parâmetro para 'with_front' = > falso Porque a minha estrutura geral de permanência vai com / blog e eu não quero especialistas em / blog / experts. Existe uma maneira que eu poderia fazer isso adicionando algo no arquivo de funções? Eu tentei isso ( Como definir "with_front '= > false" para um cpt gerado por plugin? ) e várias coisas, mas não conseguiu fazê-lo funcionar. Obrigado :)

    
por Agnes 21.04.2016 / 10:37

3 respostas

5

Você pode experimentar o novo filtro register_post_type_args para ajustá-lo.

Veja um exemplo não testado:

/**
 * Set 'with_front' to false for the 'experts' post type.
 */
add_filter( 'register_post_type_args', function( $args, $post_type )
{
    if( 'teachers' === $post_type && is_array( $args ) )
            $args['rewrite']['with_front'] = false;

    return $args;
}, 99, 2 );

Atualizado com novas informações do @Agnes: o tipo de postagem é teachers não experts .

    
por birgire 21.04.2016 / 12:00
2

Além disso, se o CPT tiver taxonomias associadas a ele, usei com sucesso o código a seguir para reescrevê-las também:

/**
 * Set 'with_front' to false for the 'portfolio_category' post taxonomy.
 */

add_filter( 'register_taxonomy_args', function( $args, $taxonomy )
    {
        if( 'portfolio_category' === $taxonomy && is_array( $args ) )
            $args['rewrite']['with_front'] = false;
        return $args;
    }, 99, 2 );

Caso isso seja útil para qualquer pessoa.

    
por connectjax 02.06.2016 / 18:11
-2

Esta solução funciona, adicionada ao tema pai functions.php:

        add_filter( 'register_post_type_args', function( $args, $post_type )
        {
            $args['rewrite']['with_front'] = false;
            return $args;
        }, 10, 2 );     
    
por Agnes 28.04.2016 / 10:11

Tags