ความแตกต่างระหว่าง get_bloginfo ('url') และ get_site_url () คืออะไร?


11

ฉันกำลังพัฒนาปลั๊กอิน

ฉันต้องการทราบความแตกต่างระหว่าง

get_bloginfo('url');  

และ

get_site_url();

ฉันได้ผลลัพธ์เดียวกันแล้วอะไรคือความแตกต่าง

คำตอบ:


19
  • get_bloginfo('url')โทรhome_url()สายget_home_url()ตัวเลือกอ่านhome

  • get_bloginfo('wpurl')โทรsite_url()สายget_site_url()ตัวเลือกอ่านsiteurl

  • get_bloginfo('siteurl')และget_bloginfo('home')จะเลิกการขัดแย้งและผลตอบแทนget_bloginfo('url')( siteurlอาร์กิวเมนต์เป็นเอกสารที่ไม่ถูกต้องใน Codex เป็นไปได้เท่ากันwpurl, มันไม่ได้อยู่ในรหัสปัจจุบัน )

ความแตกต่างคือทั้งสองโซ่ฟังก์ชั่นเพื่อตัวเลือกที่แตกต่างกันซึ่งโดยทั่วไปจะเหมือนกัน

มันจะเหมาะสมกว่าที่จะเปรียบเทียบget_bloginfo('url')ไปget_home_url()หรือเพื่อget_bloginfo('wpurl') get_site_url()แล้วคำตอบก็คือฟังก์ชั่นเหล่านี้อยู่ในระดับที่แตกต่างกันในห่วงโซ่ โดยทั่วไปแล้วฟังก์ชั่นที่ลึกกว่าคือ - ยิ่งมีความยืดหยุ่นมากขึ้นและมีการกรองผ่านน้อย


3

จาก 'wp-include / general-template.php'

function get_bloginfo( $show = '', $filter = 'raw' ) {

switch( $show ) {
      case 'home' : // DEPRECATED
      case 'siteurl' : // DEPRECATED
        _deprecated_argument([snipped]);
      case 'url' :
        $output = home_url();
        break;
      case 'wpurl' :
        $output = site_url();
        break;

ดังนั้น:

  • get_bloginfo('home'), get_bloginfo('siteurl')และget_bloginfo('url')เทียบเท่ากับการโทรhome_url()(ยังทราบว่าการใช้ที่บ้านและsiteurlเป็นพารามิเตอร์ get_bloginfo เลิก)
  • get_bloginfo('wpurl') เหมือนกับการโทร site_url()

get_bloginfo('siteurl')คือเลิกนานและในปัจจุบันเป็นเช่นเดียวกับget_bloginfo('url')( home_url()) มันจะทำให้รู้สึกมากขึ้นนั้นจะเท่ากับget_bloginfo('wpurl')( site_url()) แต่ด้วยเหตุผลบางอย่างมันไม่ได้ ฉันเห็นว่า Codex พูดอย่างอื่นดี - รหัสแตกต่างจากเอกสาร แหล่ง
Rarst

ตกลง ... น่าสนใจและสับสน แก้ไขคำตอบของฉันหลังจากดูรหัส!
anu

1

ตรวจสอบพารามิเตอร์มากกว่าที่ Codex:

get_site_url / get_bloginfo


ฉันกำลังมองหาความแตกต่างที่เฉพาะเจาะจงระหว่างสอง
IM-JM

การตรวจสอบ codex จะช่วยให้คุณเห็นความแตกต่างเฉพาะระหว่างทั้งสอง
anu

1

IIRC ความแตกต่างหลักระหว่างhome_url()/ get_site_url()และget_bloginfo()analogs คือhome_url()/ get_site_url()คืนค่า http / https ที่เหมาะสมในขณะที่get_bloginfo()ไม่มี


ไม่ถูกต้องget_bloginfo()เพียงแค่โทรsite_url()/ home_url()ฟังก์ชั่นและจะส่งกลับรูปแบบที่เหมาะสมเช่นเดียวกับที่พวกเขาทำ
Rarst

โอ้เรียบร้อย! general-template.phpดูเหมือนว่าการเปลี่ยนแปลงตั้งแต่ครั้งสุดท้ายที่ผมมองไปที่ :)
Chip Bennett
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.