Pelo que entendi você está procurando a função home_url().
No seu caso ficaria
<a href="<?php echo esc_url( home_url( 'quem-somos' ) ); ?>">Página de exemplo</a>
É isso? Se for não esquece de marcar seu tópico como resolvido 🙂
Funcionou OK com a page-quem-somos na raiz. Teria como colocar esta page dentro de um diretório <quem-somos>?
Desculpa @gustavospindola, não sei se entendi muito bem. O endereço da página é definido na tela de edição da própria página, sendo quem-somos
o que a gente chama de slug da página. O seu wordpress está utilizando o arquivo page-quem-somos
porque ele segue a estrutura page-{slug}.php
, como você pode ver na documentação. Por colocar esta page dentro de um diretório você quer dizer que seus usuários devem acessar http://dominio.com/quem-somos/ e não http://dominio.com/quem-somos?
Se for isso você pode inserir este código no seu htaccess:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://dominio.com/$1/ [QSA,L,R=301]
Não testei, mas tirei daqui.
Obrigado pela atenção e desculpe o incomodo, sou iniciante em programação para WordPress.
A forma que me passou não funcionou ou eu não soube fazer da forma correta…
Eu estou tentando linkar a minha front-page.php que está na raiz do site com uma pagina que está dentro de um diretório, pois meu site está ficando muito grande e deixar as páginas soltas na raiz está deixando desorganizado, gostaria de estrutura-lo em pastas.
Como abaixo:
|
V
diretório(Site)
|
|
|___diretório(quem-somos)
| |___page-quem-somos.php(ou uma página interna qualquer)
|
|
|__front-page.php
Você acha que essas páginas internas deveriam ser do tipo page mesmo?
Desculpe novamente, não sei quase nada de WordPress 🙁
Obrigado pela atenção
Eu que peço desculpas, @gustavospindola, mas aos poucos a gente vai se entendendo.
O cenário que você está descrevendo parece muito pouco com uma instalação do WordPress 🙁 Na verdade o diretório que você descreve é o seu tema, certo? Em uma instalação padrão do wordpress a raíz do site deve ter as pastas wp-include, wp-admin e wp-content. É o seu caso, certo?
A administração do conteúdo deve ser feita através do painel do wordpress. Indo do lado esquerdo no link “Páginas” deveriam estar suas páginas, elas estão lá?
No diretório do seu tema (tipicamente em wp-content/themes/nome-do-seu-tema
) estarão os arquivos responsáveis pela exibição dessas páginas (e dos outros conteúdos), seguindo a hierarquia dos templates. Não é preciso um arquivo para cada página, o ideal aliás é manter o mínimo de arquivos possível.
Sugiro que você baixe uns temas prontos para ter uma ideia da estrutura geral, pode ser que clareie um pouco o entendimento 🙂
Boa tarde Felipe!
A estrutura basicamente seria essa
site
|
|____|outras pastas do WordPress|
|
|____|wp-content|
|
|___|themes|
|
|___|pasta-do-meu-tema|
|___(front-page.php)
|
|___|quem-somos|
| |___(page-quem-somos.php)
|
|___|guia-de-cidades|
|___(page-cidade-01)
|___(page-cidade-02)
Preciso das páginas dentro de diretórios por motivos de organização, pois o site terá centenas de páginas e cada uma delas com um conteúdo diferente, e talvez até feito direto no html, por isso acho que não posso criar as páginas pelo painel do WordPress 🙁
Por exemplo: Na pasta cidades, eu terei várias cidades, todas diferentes, por isso gostaria de organiza-las em um diretorio especifico de cidades. Isso também ocorrerá em varios ouros seguimentos. Apenas separar por categorias para mim não seria viável, pois o site está ficando enorme e deixar todas as paginas misturadas e soltas no diretorio do tamplate dificultaria a manutenção do site.
Puxa @gustavospindola, sou obrigado a te dizer que você está seguindo um caminho completamente diferente ao que é proposto pela ideia tanto do WordPress quanto de CMS em geral: o ideal é que esse conteúdo esteja todo no painel, afinal se é pro conteúdo estar direto no HTML não tem razão de usar o wordpress, concorda? Recomendo muito que você reveja essa estrutura, espero que consiga isso em tempo hábil de entregar seu projeto.
Se você decidir insistir nesse cenário, um facilitador pode ser a função get_template_part, que funciona como um “include” do wordpress. Você teria alguns arquivos na raiz servindo de “casca” e o “miolo” seria renderizado pela get_template_part()
. Algo como o código abaixo dentro da sua page.php
global $post;
get_template_part('guia-de-cidades/cidades', $post->post_name);
pegaria o conteúdo do arquivo guia-de-cidades/cidades-slug_do_conteudo.php
, mas repetindo, essa solução não é nem de longe a ideal 🙁 O ideal seria você criar um template-cidades.php
com tudo o que há de comum entre as páginas de cidade e chamar, por exemplo, a função the_content()
para exibir o conteúdo cadastrado no painel.
Felipe, obrigado pela ajuda, pela paciência e pela atenção. Vou conversar com meu chefe e ver o que vai ser resolvido
Muito obrigado, abraços!