Qual é a diferença entre home_url () e site_url ()
-
-
Vocêestáfazendo duasperguntas de uma só vezem umaperguntamuitoimportante.A respostapara "Qual é a diferençaentre home_url ()e site_url ()?"é diferente dapergunta: "Comofaçopara obter o WordPresspara retornar a raiz da URL sem o subdiretório ondeestáinstalado?"You're asking two questions at once on a very important question. The answer to "What's the difference between home_url() and site_url()?" is different than the question, "How do I get WordPress to return the URL root without the subdirectory where it's installed?"
- 4
- 2012-04-29
- Volomike
-
Reviseestesguias do Codex: https://codex.wordpress.org/editing_wp-config.php#wordpress_address_.28url.29;https://codex.wordpress.org/editing_wp-config.php#blog_address_.28url.29;http://codex.wordpress.org/giving_wordpress_its_own_directory#using_a_pre-existing_subdirectory_install.Review these codex guides: https://codex.wordpress.org/Editing_wp-config.php#WordPress_address_.28URL.29 ; https://codex.wordpress.org/Editing_wp-config.php#Blog_address_.28URL.29 ; http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory#Using_a_pre-existing_subdirectory_install
- 0
- 2016-10-07
- Tara
-
5 respostas
- votos
-
- 2012-04-30
Vocêestáfazendo duasperguntas aomesmotempo:
- .
- Qual é a diferençaentre
home_url ()
esite_url ()
? - Comofaçopara obter o WordPresspara retornar a raiz da URL sem o subdiretório ondeestáinstalado?
Aquiestão as respostas,e eu confirmei com Andrew Nacin,umnúcleo desenvolvedor do WordPress,além deexecutar algunstestes de servidorpara confirmar o que Andrewme disse.
Pergunta # 1
Emgeral> Configurações do WP-Admin,
Home_Url ()
Referências O campo rotulado "Endereço do site (URL)". confuso,hein? sim,diz "endereço do site"para que vocêpossa assumirsite_url ()
,mas vocêestariaerrado . Execute seuprópriotestee você verá. (Vocêpodebaixartemporariamente um campo Echo comsite_url ()
ehome_url ()
Valoresnaparte superior dasfunções do seutema. )Enquantoisso,
site_url ()
Referencia o campo rotulado "endereço do WordPress (URL)"em geral> Configurações.Então,se você quiser referência onde um caminhofísicopode ser,como chamar um caminho depasta depluginno URLpara carregar umaimagem,ou chamando o caminho dapasta de umtemapara carregar umaimagem,você deve realmente usar outrasfunções Para aqueles - Olhepara
Plugins_Url ()
eget_template_directory_uri ()
.O site
site_url ()
sempre será o local onde vocêpode chegar ao site,tackingno/WP-admin
nofinal,enquantohome_url ()
não seria deforma confiáveleste local.o
home_url ()
seria onde você definiu suapáginainicial configurando o campo Geral> Configurações "deendereço do site (URL)".Pergunta # 2
Então,seeufizmeublogem
http://example.com/blog
eexample.com
é apenas algum siteestático ondeeutenho como umtema deportfólio,entãoeste seria um cenário que se alinha com suapergunta. Emtal caso,entãoeu usariaessetrecho de código:& lt;?php funçãogetdomain () { $ Surl=site_url ();//WordPressfunção. $ asparts=parse_url ($ Surl);//funçãophp. Se (! $ aspars) wp_die ('Erro: caminho corruptopara analisar');//Substituaissopor ummelhor resultado deerro $ sscheme=$ aspars ['esquema']; $nport=$ aspars ['porto']; $ shost=$ aspars ['host']; $nport=80==$nport? '': $nport; $nport='https'==$ sschemee 443==$nport? '': $nport; $ Sport=! vazio ($esporte)? ": $nport": ''; $ sretorn=$ sscheme. '://'. $ shost. $esporte; Retornar $ SRETURN; }
You are asking two questions at once:
- What's the difference between
home_url()
andsite_url()
? - How do I get WordPress to return the URL root without the subdirectory where it's installed?
Here are the answers, and I confirmed with Andrew Nacin, a core developer of WordPress, as well as ran some server tests to confirm what Andrew told me.
Question # 1
In General > Settings of wp-admin,
home_url()
references the field labeled "Site Address (URL)". Confusing, huh? Yeah, it says "Site Address" so you might assumesite_url()
, but you'd be wrong. Run your own test and you'll see. (You can temporarily drop anecho H1
field withsite_url()
andhome_url()
values at the top of your your theme's functions.php.)Meanwhile,
site_url()
references the field labeled "WordPress Address (URL)" in General > Settings.So, if you're wanting to reference where a physical path might be such as calling a plugin's folder path on the URL to load an image, or calling a theme's folder path to load an image, you should actually use other functions for those - look at
plugins_url()
andget_template_directory_uri()
.The
site_url()
will always be the location where you can reach the site by tacking on/wp-admin
on the end, whilehome_url()
would not reliably be this location.The
home_url()
would be where you have set your homepage by setting General > Settings "Site Address (URL)" field.Question # 2
So, if I have placed my blog in
http://example.com/blog
, andexample.com
is just some static site where I have like a portfolio theme, then this would be a scenario that lines up with your question. In such a case, then I would use this snippet of code:<?php function getDomain() { $sURL = site_url(); // WordPress function $asParts = parse_url( $sURL ); // PHP function if ( ! $asParts ) wp_die( 'ERROR: Path corrupt for parsing.' ); // replace this with a better error result $sScheme = $asParts['scheme']; $nPort = $asParts['port']; $sHost = $asParts['host']; $nPort = 80 == $nPort ? '' : $nPort; $nPort = 'https' == $sScheme AND 443 == $nPort ? '' : $nPort; $sPort = ! empty( $sPort ) ? ":$nPort" : ''; $sReturn = $sScheme . '://' . $sHost . $sPort; return $sReturn; }
-
Vocêtem um linkpara a discussão com a.nacin?Do you have a link to the discussion with A.Nacin?
- 0
- 2012-04-30
- kaiser
-
Foipore-mail.Desculpe.Ah,e obrigadopelaedição - lembro que a sintaxemuda dapróxima vez.It was via email. Sorry. Oh, and thanks for the edit -- I'll remember that syntax change next time.
- 1
- 2012-04-30
- Volomike
-
Leveimuitotempoe muita dorparaperceber que 'endereço do site (URL)'='Home'e 'endereço WordPress (URL)'='Siteurl'.Eles definitivamente devemmudaresses rótulos.It took me a very long time and a lot of pain to realize that 'Site Address (URL)' = 'home' and 'WordPress Address (URL)' = 'siteurl'. They should definitely change those labels.
- 8
- 2014-01-26
- Jbm
-
Sua respostapara a segundapergunta atinge ojackpot!Your answer to the second question hits the jackpot!
- 0
- 2018-02-19
- Devner
-
- 2011-06-17
Se você quiser wpinstaladoem um diretório,mas o siteem casaem sua root de domínio,vocêprecisamover o arquivoprincipal.phpforapara o seu domínio roote editar ainstrução REQUEIRpara apontarem seu diretório.
Esteprocesso é descrito aqui: Dando o WordPress seupróprio diretório .
If you want WP installed in a directory but the site home on your domain root, you need to move the main index.php file out to your domain root and edit the require statement to point within your directory.
This process is outlined here: Giving WordPress Its Own Directory.
-
Eu sempre uso apenas "home_url ()" desde queestounomodo WP Network.Eu só dei o WordPress seupróprio diretório uma veze nãoerameugosto.Maseu,noentanto,uso o `wp_content_dir`em alguns sites.I always just use `home_url()` since i am on wp network mode. I have only given WordPress its own directory once and it just was not my liking. But i do however use the `wp_content_dir` on some sites.
- 0
- 2011-06-17
- xLRDxREVENGEx
-
Eunãotenhoexperiência commultisite,entãonãoestoufamiliarizado comoessa coisafuncionanessa situação.Euprefiroinstalar o WPem um diretório apenasparamanter as coisas limpase não confundir a raiz.I don't have any experience with multisite, so I'm not familiar how this stuff works in that situation. I prefer installing WP in a directory just to keep things clean and not clutter the root.
- 0
- 2011-06-17
- Milo
-
Minhaestrutura de arquivos éprovavelmente uma dasmais legais.`home/usr/public_html/site1`` home/usr/public_html/site2`e assimpor diantee então o `wp_content_dir` égeralmenteem um cdnmy file structure is probably one of the neatest ones around. `home/usr/public_html/site1` `home/usr/public_html/site2` and so on and then the `wp_content_dir` is usually on a cdn
- 0
- 2011-06-17
- xLRDxREVENGEx
-
Se umainstalação WPfosse a única coisa quetudoficariabem,masestoutrabalhandoprincipalmenteem servidores de outrospovos com centenas de arquivose diretórios repletos.if a WP install were the only thing there it would be fine, but I'm mostly working on other peoples servers with hundreds of files and directories littered about.
- 0
- 2011-06-17
- Milo
-
Meuentendimento é correto que o site_url ()e home_url () são osmesmos,amenos que alguém configure seu diretório deinstalação do WordPresspara ser diferente da raiz?Is my understanding correct that site_url() and home_url() are the same, unless one sets up their wordpress install directory to be different than the root?
- 0
- 2011-06-20
- Praveen
-
- 2013-04-17
O site
site_url ()
ehome_url ()
Asfunções são semelhantese podem levar à confusãoem comofuncionam.o site
site_url ()
afunção recupera o valor do valorparasiteurl
nowp_options
tabelano seubanco de dados.Este é o URLpara os arquivosprincipais do WordPress.
Se seus arquivosprincipaisexistiremem um subdiretório/wordpress
no seu servidor da Web,o valor seriahttp://example.com/wordpress
.O
home_url ()
função recupera o valorparaem casa
nowp_options
tabelaem seubanco de dados.Este é oendereço que você deseja que aspessoas visitempara visualizar o site do WordPress.
Se os seus arquivosprincipais do WordPressexistiremem
/WordPress
,mas você deseja que o URL do seu site sejahttp://example.com
O valorinicial deve serhttp://example.com
.The
site_url()
andhome_url()
functions are similar and can lead to confusion in how they work.The
site_url()
function retrieves the value value forsiteurl
in thewp_options
table in your database.This is the URL to the WordPress core files.
If your core files exist in a subdirectory/wordpress
on your web server, the value would behttp://example.com/wordpress
.The
home_url()
function retrieves the value forhome
in thewp_options
table in your database.This is the address you want people to visit to view your WordPress web site.
If your WordPress core files exist in
/wordpress
, but you want your web site URL to behttp://example.com
the home value should behttp://example.com
. -
- 2011-06-17
Para responder sua segundapergunta:
.
q: Seestá correto,entãoposso obter o WordPresspara retornar http://example.com/?
Vocênãopode,amenos que vocêpegue o Dando o WordPress seupróprio diretório etapas. Usandoisso significa que você coloca arquivos denúcleo do WordPressem
/blog
ou/wordpress
e,em seguida,oindex.php
em sua raiz.Se você decidir colocar o WordPress dentro do seupróprio diretório,então usaria
home_url ()
parairparaindex.php
esite_url ()
Para obter arquivosprincipaise tal.refreações:
códiceparasite_url
códiceparahome_url
Codexpara dar diretóriopróprio do WordPressTo answer your second question:
Q: If that's correct, then can I get wordpress to return http://example.com/ ?
You can't, unless you take the Giving WordPress its own directory steps. Using this means you put WordPress core files into
/blog
or/WordPress
and then theindex.php
into your root.If you decide to put WordPress inside its own directory then you would use
home_url()
for going toindex.php
andsite_url()
for getting core files and such.Refrences:
Codex forsite_url
Codex forhome_url
Codex for Giving Wordpress Own Directory -
- 2016-05-05
Amaneiramaisfácil de obter o URL do site sem quaisquer sub-diretórios ( http://example.com/de http://example.com/blog ),basta usar abarrainvertida /
.Porexemplo,se você digitar:
<a href="/">domain url</a>
criará um link que vaipara o seu domínio
The easiest way to get the site url without any sub-directories ( http://example.com/ instead of http://example.com/blog ), just use the backslash /
For example, if you type:
<a href="/">domain url</a>
It will create a link that goes to your domain
-
Obrigadoporparticipar.Infelizmente,issonão responde àperguntaposadapelo OP.Hámuitas razõespelas quais umapessoaprecisa usar asfunções do WordPress OPpergunta.Éimprovável que o op simplesmente deseja adicionar linkpara suapáginainicial via HTML,comoeditando umpost.Émaisprovável que opestáeditando um arquivotemático PHP ou um arquivo deplugin.Em qualquer caso,elesestãotrabalhando com PHP,não HTML.Finalmente,enquanto o op *esperava * Um valor sem `/`para *este * site,em um site diferente,oppode *esperar * um subdiretório a ser devolvido.Depende da configuração do WPpara cada site.Thanks for participating. Unfortunately, this does not answer the question posed by the OP. There are many reasons why a person needs to use the wordpress functions OP asks about. It is unlikely that OP simply wants to add link to their home page via html, such as by editing a post. It is more likely, OP is editing a php theme file, or a plugin file. In any case, they are working with php, not html. Finally, while OP *expected* a value without `/` for *this* site, on a different site, OP may *expect* a subdirectory to be returned. It depends on the WP configuration for each site.
- 0
- 2019-01-05
- SherylHohman
Meuentendimento é que
site_url()
retorna o local onde os arquivosprincipais do WordPress são.Se omeublogestiver hospedadoem
http://example.com/blog
,site_url()
retornahttp://example.com/blog
Mas,em seguida,como o
home_url()
difere?Paramim,home_url()
retorna amesma coisa:http://example.com/blog
Seestiver correto,entãoposso obter o WordPresspara retornar
http://example.com/
?