Tipo de postagem personalizado Reescrita de URL?
2 respostas
- votos
-
- 2012-05-25
Quando você registra otipo depostagempersonalizado,você deveespecificar que a regra de reescritanão deve serpré-formada com aestrutura de URLexistente.
Em suma,isso significa queesta linhano seu
register_post_type
chamada:'reescreva'=>array ('slug'=> 'projetos'),
deve se ligarparaisso:
'reescreva'=>Array ('Slug'=& GT; 'Projetos','with_front'=>false),
Paramaisinformações,confira o
Rewrite
Argumento apartir do Entrada do CodexemRegister_Post_Type
Editar: Apenas certifique-se de que,depois de atualizar o código,você libera as regras de reescrita,visitando as configurações> Permalinks.Caso contrário,você ainda verá os velhos links.
When you register the custom post type, you have to specify that the rewrite rule shouldn't be prepended with the existing URL structure.
In short, this means that this line in your
register_post_type
call:'rewrite' => array('slug' => 'projects'),
should turn into this:
'rewrite' => array('slug' => 'projects','with_front' => false),
For more info, check out the
rewrite
argument from the codex entry onregister_post_type
edit: just make sure that, after updating the code, you flush the rewrite rules by visiting Settings > Permalinks. Otherwise you'll still see the old links.
-
Brilhante Obrigado!Apenasparaesclarecer,tudo queeuprecisofazerpor regras de descarga éirpara as configurações -> Permalinks Pagee acertar "Salvar alterações",correto?brilliant thank you! Just to clarify, all I need to do for flushing rules is to go to the Settings->Permalinks page and hit "Save Changes", correct?
- 0
- 2012-05-25
- Jake
-
Vocênem precisa salvar as alterações.É o suficiente apenaspara abrir apágina de configurações do Permalinks (ou seja,se o seu arquivo .htaccessforgravável. Senão,pressione Salvar alteraçõese copiemanualmente o código retornadoem seu .htaccess)You don't even need to save changes. It's enough just to open the Permalinks settings page (that is, if your .htaccess file is writable. If not, press save changes and manually copy the code it returns in your .htaccess)
- 4
- 2012-05-25
- 0x61696f
-
Issonãoparecefuncionarparamim.Meuspostagens deprojetos aindaestãoindopara 'example.com/projetos/title-of-post`.Eu visitei apágina Permalinkstambém.O quepoderiaestar causandoisso?Não hánenhuma regra de reescritanomeu "htaccess".This doesn't seem to work for me. My projects posts are still going to `example.com/projects/title-of-post`. I visited the Permalinks page too. What could be causing this? There aren't any rewrite rules in my `htaccess`.
- 2
- 2015-01-25
- Desi
-
Uau,obrigado quefoi aparte desaparecida!Visitar apágina Permalinksnãofuncionou,mas apenas salvando as configurações atuais de Permalinkfuncionou :)Wow, thanks that was the missing part! Visiting the permalinks page did not work, but just SAVING the current permalink settings worked :)
- 1
- 2019-02-28
- Alexander Taubenkorb
-
Eu continueimudando as coisas sem liberar as regras de reescrita.Obrigadopela dica!I kept on changing things without flushing the rewrite rules. Thanks for the tip!
- 1
- 2019-11-14
- Tan-007
-
- 2012-05-25
Eutinhaesseproblema literalmente há 3 dias,entãoeutropecei através de uma sérieem wp.tutsplus.com . Eutroqueimeupróprio códigopara acomodar suaperguntamelhor,masisso é o que acabei depois de seguir a série. Além disso,tenhaem mente queisso énãotestado.
//define otipo depostpersonalizado funçãomy_custom_post_type () { Register_Post_Type ('Projetos',Array ( 'Label'=> 'Projetos','Descrição'=& GT; '', 'Public'=> verdade, 'show_ui'=> verdade, 'show_in_menu'=> verdade, 'CAPABILIDADE_TYPE'=> 'publicar', 'hierárquico'=>falso, 'Publicly_Queryable'=> verdade, 'Reescreva'=>falso, 'query_var'=> verdade, 'has_archive'=> verdade, 'suporta'=> Array ('título','editor','trecho','Trackbacks','Custom-Fields','Comentários','Revisões','Miniatura','Autor','Atributos'), 'taxonomias'=>matriz ('categoria','post_tag'), //hámuitomais argumentos disponíveis,mas o acima émuito )); } add_action ('init','my_custom_post_type'); //Reescreve onome dotipo Postpersonalizado Global $ WP_REWRITE; $ Projects_structure='/Projetos/% Ano%/% MonthNum%/% Day%/% Projetos%/'; $ wp_rewrite- > add_rewrite_tag ("%projetos%",'([^/] +)',"projeto="); $ wp_rewrite- > add_permastruct ('Projetos',$ Projetos_structure,falso);
teoricamente,vocêpodetrocar o que quiserno URL armazenadono
$ Projetos_strucure
Variável,o que háexatamente o que acabei usando.Boa sorte,e como sempre - certifique-se de voltare deixá-lo saber comofuncionou! :)
I had this problem literally 3 days ago, then I stumbled across a series over at wp.tutsplus.com. I swapped my own code out to accommodate your question better, but this is what I ended up with after following the series. Also, keep in mind that this is untested.
// sets custom post type function my_custom_post_type() { register_post_type('Projects', array( 'label' => 'Projects','description' => '', 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'capability_type' => 'post', 'hierarchical' => false, 'publicly_queryable' => true, 'rewrite' => false, 'query_var' => true, 'has_archive' => true, 'supports' => array('title','editor','excerpt','trackbacks','custom-fields','comments','revisions','thumbnail','author','page-attributes'), 'taxonomies' => array('category','post_tag'), // there are a lot more available arguments, but the above is plenty for now )); } add_action('init', 'my_custom_post_type'); // rewrites custom post type name global $wp_rewrite; $projects_structure = '/projects/%year%/%monthnum%/%day%/%projects%/'; $wp_rewrite->add_rewrite_tag("%projects%", '([^/]+)', "project="); $wp_rewrite->add_permastruct('projects', $projects_structure, false);
Theoretically, you could swap out whatever you want in the URL stored in the
$projects_structure
variable, what is there is just what I ended up using.Good luck, and as always - make sure to come back and let us know how it worked out! :)
-
As respostas que são apenas compostaspor links sãogeralmente consideradasinúteis,poisesses recursospodem (eprovavelmente serão) deixam deexistirnofuturo.Resumir o conteúdo.Answers that are just composed of links are generally considered unhelpful as those resources can (and probably will) cease to exist in the future. Summarize the content.
- 1
- 2012-05-25
- chrisguitarguy
-
Justo,voutrabalharem uma revisão adequada.Fair enough, I'll work on a proper revision.
- 0
- 2012-05-25
- cmegown
-
Lá,agoraminha resposta contém código similar ao código detrabalho quetenhoem um ambiente deprodução que reescreve com sucesso um URL dotipopersonalizado.Espero que sejamais útil!There, now my answer contains similar code to working code that I have in a production environment that successfully rewrites a custom post type URL. Hope it proves to be more helpful!
- 11
- 2012-05-25
- cmegown
Eu configuro umtipo depostagempersonalizadoparameusprojetos deportfólio.O URLprincipalparaissoestá localizadoem
/Projetos/
Agoratambém configureiminhaspostagens deblogs Permalinkpara
/Artigos/*/
para aestrutura de Permalink.Isso significa que,quandoeu voupara ver umprojeto deportfólio,a URL é alteradapara/Artigos/Projetos/Nome do Projeto/
Eu sei que deve haver umamaneira de reescrever Permalinks apenas para otipo depostagempersonalizado deprojetos.Masnãoestoufamiliarizado com a sintaxeem declarar a Slug de URL - apreciaria qualquer ajuda queeupossa obter!