Respostas no Fórum

Visualizando 15 respostas - 46 até 60 (de um total de 70)
  • Nura

    (@archer-master)

    Ah, sim, só tô com o problema da url quando não tiver a categoria selecionada pra não mostrar o id.

    Nura

    (@archer-master)

    Não funcionou, teria que ser com category mesmo pois quando eu busco pelo custom post type noticias/tech ele não aparece. Error 404 quando uso category_if_exist
    com o category funciona normal o noticias/tech

    ficou assim a url sem a categoria
    http://localhost/wordpress/noticias//amd-ryzen-em-marco redireciounou para http://localhost/wordpress/noticias/amd-ryzen-em-marco e deu error 404

    Só preciso resolver esse problema quando não houver categoria marcada.

    • Esta resposta foi modificada 3 anos, 7 meses atrás por Nura.
    Nura

    (@archer-master)

    O slug está certo, o problema é que eu queria uma solução pra retirar o id do post caso não tivesse marcado uma categoria.

    Eu queria remover o id do post caso não houvesse a categoria marcada, o problema é que a condição else não tá funcionando.

    Fica assim quando não tem categoria
    http://localhost/wordpress/noticias/1/ola-mundo/
    Eu queria deixar a url assim: sem o ID do post quando não houver categoria selecionada
    http://localhost/wordpress/noticias/ola-mundo/
    Cpt Notícias com Categoria: Tech 
    http://localhost/wordpress/noticias/tech/amd-ryzen-em-marco/ 

    Código completo do custom post type:
    http://pastebin.com/qV8mGx0V.

    • Esta resposta foi modificada 3 anos, 7 meses atrás por Nura.
    • Esta resposta foi modificada 3 anos, 7 meses atrás por Nura.
    • Esta resposta foi modificada 3 anos, 7 meses atrás por Nura.
    Nura

    (@archer-master)

    Bom dia, e muito obrigado por tentar me ajudar. A links permanentes do post está assim nas configurações,só com o /%postname%/, teria alguma forma de remover o id do post caso não exista a category do custom post type, faz 3 semanas que estou tentando resolver o problema, procurei em vários tópicos de outros sites e nada.

    queria fazer igual esse site, dá uma olhada por gentileza.

    quando tiver a category a url fica assim.
    www.animeunited.com.br/noticias/anime/hajimete-no-gal-ganha-imagem/

    e quando não tiver a category exibi
    www.animeunited.com.br/noticias/avex-pictures-proibe-vendas-de-seus-titulos-fora-do-japao/

    Tem como eu fazer assim, porque só conseguir deixar com o id do post caso não tenha category marcada.

    Agradeço

    • Esta resposta foi modificada 3 anos, 7 meses atrás por Nura.
    • Esta resposta foi modificada 3 anos, 7 meses atrás por Nura.
    • Esta resposta foi modificada 3 anos, 7 meses atrás por Nura.
    Nura

    (@archer-master)

    Tô usando essa nova função:

    Quero que fique assim
    Exemplo: localhost/noticias/novidades-sobre-o-site

    E não desse jeito: localhost/noticias/84/novidades-sobre-o-site

    add_filter( ‘post_type_link’, ‘my_post_type_link’, 99, 2 );
    function my_post_type_link( $post_link, $post = 0 ) {
    $newlink = $post_link;
    if ( !empty($post) ) {
    $post_type = get_post_type($post->ID);

    if($post_type == “noticias”) {
    $newlink = str_replace(‘%noticias_cat%’, $post->ID, $post_link);
    } else {
    $newlink = str_replace(‘%noticias_cat%’, ”);
    }
    }

    return $newlink;
    }

    Nura

    (@archer-master)

    Como posso deixar a url sem o ID caso não tenha categoria marcada deixar sem o post->ID e retorna só o cpt e o nome da url?

    Quero que fique assim
    Exemplo: localhost/noticias/novidades-sobre-o-site

    E não desse jeito: localhost/noticias/84/novidades-sobre-o-site

    function category_permalink($permalink, $post_id, $leavename) {
    if (strpos($permalink, ‘%noticias_cat%’) === FALSE) return $permalink;
    $post = get_post($post_id);
    if (!$post) return $permalink;
    $terms = wp_get_object_terms($post->ID, ‘noticias_cat’);
    if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0]))
    $taxonomy_slug = $terms[0]->slug;
    else $taxonomy_slug = “$post->ID” ;

    return str_replace(‘%noticias_cat%’, $taxonomy_slug, $permalink);
    }
    add_filter(‘post_link’, ‘category_permalink’, 1, 3);
    add_filter(‘post_type_link’, ‘category_permalink’, 1, 3);

    Eu pensei em criar outro tópico porque os códigos acima ficaram com problemas, só preciso resolver isso.

    • Esta resposta foi modificada 3 anos, 7 meses atrás por Nura.
    • Esta resposta foi modificada 3 anos, 7 meses atrás por Nura.
    Nura

    (@archer-master)

    Baixei um plugin pra analizar a url e me mostrou isso, alguém pode me ajudar. Obrigado

    Nura

    (@archer-master)

    Resolvi esse problema, agora quando eu clico na postagem aparece error 404. Alguém pode me explicar o que eu posso resolver essa situação.
    Url que estão oks:
    localhost/wordpress/noticias/
    localhost/wordpress/noticias/anime/page/2
    localhost/wordpress/noticias/anime/page/3

    A url que dá error 404 : localhost/wordpress/noticias/animes/nome-da-postagem

    CPT Notícias – http://pastebin.com/NepP8tAP
    Função Atual:

    // Rewrite permalink structure
    function noticias_rewrite() {
        global $wp_rewrite;
      
        $wp_rewrite->add_permastruct( 'noticias', '/noticias/%category%/', false );
    }
    add_action( 'init', 'noticias_rewrite' );
    
    function noticias_permalink( $post_link, $id = 0, $leavename ) {
        global $wp_rewrite;
        $post = &get_post( $id );
        if ( is_wp_error( $post ) )
            return $post;
            $newlink = $wp_rewrite->get_extra_permastruct( 'noticias' );
            $newlink = str_replace( '%category%', $post->post_name, $newlink );
            $newlink = home_url( user_trailingslashit( $newlink ) );
        return $newlink;
    }
    add_filter('post_type_link', 'noticias_permalink', 1, 3);
    
    function noticias_post_link($post_link, $post, $leavename) {
        if($post->post_type == 'noticias') {
            $category_slug = get_the_terms($post->ID, 'category');
            $category_slug = is_array($category_slug) ? '/noticias/' . $category_slug[0]->slug . '/' : '/';
            $post_link = str_replace('/'.$post->post_type.'/', $category_slug, $post_link);
        }
        return $post_link;
    }
    add_filter('post_type_link', 'noticias_post_link', 10, 3);
    Nura

    (@archer-master)

    add_rewrite_rule("^noticias/([^/]+)/([^/]+)/?",'index.php?post_type=noticias&category=$matches[1]&noticias=$matches[2]','top');
    
    // http://www.localhost/wordpress/noticias/animes/ola-mundo/ 
    
    add_rewrite_rule("^noticias/([^/]+)/page/(\d+)/?",'index.php?post_type=noticias&category=$matches[1]&paged=$matches[2]','top');
    
    // http://www.localhost/wordpress/noticias/animes/page/2/

    Conseguir reescrever a url mas quando eu clico em página 2 só mostra na url e nem mostra o posts da mesma

    • Esta resposta foi modificada 3 anos, 7 meses atrás por Nura.
    Nura

    (@archer-master)

    tentei reescrever a url e sem sucesso

    function my_add_rewrite_rules() {
    	add_rewrite_tag('%noticias%', '([^/]+)', 'noticias=');
    	add_permastruct('noticias', '/noticias/%category%/', false);
    	add_rewrite_rule('^noticias/([^/]+)/([^/]+)/?','index.php?noticias=$matches[2]','top');
    }
    add_action( 'init', 'my_add_rewrite_rules' );
    Nura

    (@archer-master)

    Depois eu atualizei e acrescentei o s.
    Não acrescentei nada no .htacess

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /wordpress/
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /wordpress/index.php [L]
    </IfModule>

    # END WordPress

    Nura

    (@archer-master)

    eu retirei e mesmo assim não funciona, tenho outro CPT – Blogs e também não está funcionando

    atualizei o código do CPT – Noticias

    http://pastebin.com/Lq3Trzfn

    Nura

    (@archer-master)

    O problema persiste, o slug é esse mesmo

    Nura

    (@archer-master)

    deixei assim: /%category%/%postname%/

    Nura

    (@archer-master)

    Adicionei essa linha no meu cpt notícias e ainda não aparece os posts.

    'rewrite' => array('slug' => "noticias", 'with_front' => true),

    Continua o problema:

    View post on imgur.com

    View post on imgur.com

    • Esta resposta foi modificada 3 anos, 8 meses atrás por Nura.
Visualizando 15 respostas - 46 até 60 (de um total de 70)