home_url ()과 site_url ()의 차이점은 무엇입니까
-
-
매우 중요한 질문에 대해 한 번에 두 가지 질문을합니다."home_url ()과 site_url ()의 차이점은 무엇입니까?"에 대한 답변"어떻게 WordPress가 설치된 하위 디렉토리없이 URL 루트를 반환하도록 할 수 있습니까?"라는 질문과 다릅니다.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
-
다음 코덱스 가이드를 검토하세요. 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_installReview 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 대답
- 투표
-
- 2012-04-30
한 번에 두 가지 질문을합니다.
-
home_url()
과site_url()
의 차이점은 무엇입니까? - WordPress가 설치된 하위 디렉토리없이 URL 루트를 반환하도록하려면 어떻게해야합니까?
여기에 답이 있습니다. WordPress의 핵심 개발자 인 Andrew Nacin과 확인하고 Andrew가 나에게 말한 내용을 확인하기 위해 서버 테스트를 실행했습니다.
질문 # 1
일반> wp-admin 설정에서
home_url()
은 "사이트 주소 (URL)"필드를 참조합니다. 혼란 스럽습니까? 예,'사이트 주소'라고되어 있으므로site_url()
이라고 가정 할 수 있지만 틀 렸습니다 . 자신의 테스트를 실행하면 볼 수 있습니다. (테마의functions.php 상단에site_url()
및home_url()
값이있는home_url()
필드를 일시적으로 삭제할 수 있습니다. )반면
site_url()
은 일반> 설정에서 "WordPress 주소 (URL)"레이블이 지정된 필드를 참조합니다.따라서 이미지를로드하기 위해 URL에서 플러그인의 폴더 경로를 호출하거나 이미지를로드하기 위해 테마의 폴더 경로를 호출하는 것과 같이 물리적 경로가있는 위치를 참조하려면 실제로 다른 기능을 사용해야합니다. 이들을 위해-
plugins_url()
및get_template_directory_uri()
를보십시오.site_url()
은 항상 끝에/wp-admin
을 붙여서 사이트에 도달 할 수있는 위치이며home_url()
은 (는)이 위치가 아닐 것입니다.home_url()
은 일반> 설정 "사이트 주소 (URL)"필드를 설정하여 홈페이지를 설정 한 곳입니다.질문 # 2
내 블로그를
http://example.com/blog
에 배치하고example.com
이 내가 좋아하는 정적 사이트 인 경우 포트폴리오 주제가 있다면 이것은 귀하의 질문과 일치하는 시나리오가 될 것입니다. 이러한 경우 다음 코드 스 니펫을 사용합니다.<?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; }
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; }
-
A.Nacin과의 토론에 대한 링크가 있습니까?Do you have a link to the discussion with A.Nacin?
- 0
- 2012-04-30
- kaiser
-
이메일을 통해 이루어졌습니다.죄송합니다.아,그리고 편집 해주셔서 감사합니다. 다음에 구문이 변경된 것을 기억할 것입니다.It was via email. Sorry. Oh, and thanks for the edit -- I'll remember that syntax change next time.
- 1
- 2012-04-30
- Volomike
-
'사이트 주소 (URL)'='홈'및 '워드 프레스 주소 (URL)'='사이트 URL'이라는 사실을 깨닫는 데는 시간이 많이 걸리고 많은 고통이있었습니다.라벨을 확실히 변경해야합니다.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
-
두 번째 질문에 대한 귀하의 답변은 대박입니다!Your answer to the second question hits the jackpot!
- 0
- 2018-02-19
- Devner
-
- 2011-06-17
WP를 디렉토리에 설치하고 사이트 홈은 도메인 루트에 설치하려면 기본index.php 파일을 도메인 루트로 이동하고 require 문을 디렉토리 내에서 가리 키도록 편집해야합니다.
이 프로세스는 WordPress에 자체 디렉토리 제공 에 설명되어 있습니다.
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.
-
나는 wp 네트워크 모드이기 때문에 항상`home_url ()`을 사용합니다.나는 WordPress에 자신의 디렉토리를 한 번만 부여했으며 내 마음에 들지 않았습니다.하지만 일부 사이트에서는`wp_content_dir`을 사용합니다.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
-
멀티 사이트에 대한 경험이 없기 때문에이 상황에서 어떻게 작동하는지 잘 모르겠습니다.나는 깔끔하게 유지하고 루트를 어지럽히 지 않기 위해 디렉토리에 WP를 설치하는 것을 선호합니다.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
-
내 파일 구조는 아마도 주변에서 가장 깔끔한 것 중 하나 일 것입니다.`home/usr/public_html/site1``home/usr/public_html/site2` 등이며`wp_content_dir`은 일반적으로 cdn에 있습니다.my 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
-
WP 설치가 유일한 방법이라면 괜찮을 것입니다.하지만 저는 주로 수백 개의 파일과 디렉토리가 산재 해있는 다른 사람들의 서버에서 작업하고 있습니다.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
-
wordpress 설치 디렉토리를 루트와 다르게 설정하지 않는 한 site_url ()과 home_url ()이 동일하다는 것을 이해하고 있습니까?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
site_url()
및home_url()
함수는 유사하며 작동 방식에 혼란을 줄 수 있습니다.site_url()
함수는 데이터베이스의siteurl
테이블에서wp_options
의 값 값을 검색합니다.WordPress 핵심 파일의 URL입니다.
핵심 파일이 웹 서버의 하위 디렉토리/wordpress
에있는 경우 값은http://example.com/wordpress
가됩니다.home_url()
함수는 데이터베이스의siteurl
테이블에서wp_options
값을 검색합니다.사용자가 WordPress 웹 사이트를보기 위해 방문하기를 원하는 주소입니다.
WordPress 핵심 파일이
/wordpress
에 있지만 웹 사이트 URL이http://example.com
이되도록하려면 홈 값은http://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
두 번째 질문에 답하려면 :
<인용구>Q : 맞다면 wordpress에서 http://example.com/을 반환하도록 할 수 있습니까?
WordPress에 자체 디렉토리 제공 단계를 수행하지 않는 한 할 수 없습니다. 이를 사용하면 WordPress 핵심 파일을
/blog
또는/WordPress
에 넣은 다음index.php
를 루트에 넣습니다.WordPress를 자체 디렉토리에 배치하기로 결정한 경우
index.php
및site_url ()
home_url () 을 사용합니다. > 핵심 파일 등을 가져옵니다.참조 :
site_url
용 코덱
home_url
용 코덱
Wordpress 자체 디렉토리 제공을위한 코덱스To 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
하위 디렉토리없이 사이트 URL을 얻는 가장 쉬운 방법 (대신 http://example.com/)( http://example.com/blog ),백 슬래시 /
예를 들어 다음을 입력하는 경우 :
<a href="/">domain url</a>
도메인으로 연결되는 링크를 생성합니다.
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
-
참여해 주셔서 감사합니다.불행히도 이것은 OP가 제기 한 질문에 대한 답변이 아닙니다.OP가 요구하는 워드 프레스 기능을 사람이 사용해야하는 데는 여러 가지 이유가 있습니다.OP가 게시물을 편집하는 것과 같이 html을 통해 홈 페이지에 대한 링크를 추가하려고 할 가능성은 거의 없습니다.OP가 PHP 테마 파일 또는 플러그인 파일을 편집하고있을 가능성이 높습니다.어쨌든 그들은 html이 아닌php로 작업하고 있습니다.마지막으로 OP는 *이 * 사이트에 대해`/`가없는 값을 * 예상 *했지만 다른 사이트에서 OP는 반환 될 하위 디렉토리를 * 예상 * 할 수 있습니다.각 사이트의 WP 구성에 따라 다릅니다.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
내 이해는
site_url ()
이 WordPress 핵심 파일이있는 위치를 반환한다는 것입니다.내 블로그가
http://example.com/blog
에서 호스팅되는 경우site_url ()
은http://example.com/blog <를 반환합니다./code>
하지만
home_url ()
은 어떻게 다릅니 까?저에게home_url ()
은 같은 것을 반환합니다 :http://example.com/blog
올바른 경우 WordPress에서
http://example.com/
을 반환하도록 할 수 있습니까?