WordPress หลายไซต์สำหรับการพัฒนาในพื้นที่และระยะไกล
เผยแพร่แล้ว: 2021-07-19เป็นเรื่องปกติที่จะใช้สภาพแวดล้อมในพื้นที่และระยะไกลเมื่อพัฒนาสำหรับเว็บ ในกรณีของไซต์ WordPress เดียวก็ใช้งานได้ดี อย่างไรก็ตาม การติดตั้ง Multisite WordPress นั้นซับซ้อนอย่างมาก
เมื่อค้นหาวิธีแก้ไขปัญหาการติดตั้ง WordPress Multisite เราพบบทความชุดหนึ่งที่เขียนโดย John Russel ที่ Laubster Boy ในบทความเหล่านี้ เขาได้ชี้ให้เห็นวิธีการแก้ปัญหานี้สำหรับสภาพแวดล้อมการพัฒนาและการผลิตระยะไกล ซึ่งค่อนข้างใกล้เคียงกับสิ่งที่เราต้องการ ด้วยการปรับเปลี่ยนบางอย่าง เราจัดการเพื่อจัดเรียงสิ่งต่างๆ ไม่มากก็น้อย อย่างไรก็ตาม ตั้งแต่นั้นมา การอัปเดตบางอย่างของ WordPress ได้ทำให้โซลูชันนั้นใช้งานไม่ได้ และเราต้องทบทวนปัญหาอีกครั้ง
ในบทความนี้ ฉันจะแสดงให้คุณเห็นว่าเราแก้ปัญหานี้อย่างไรโดยใช้แหล่งข้อมูลต่างๆ และการปรับแต่งเล็กน้อย
ความตั้งใจ
เราต้องการที่จะสามารถโฮสต์การติดตั้งภายในเครื่องของไซต์และการติดตั้งระยะไกลของไซต์ที่ใช้ฐานข้อมูล (ระยะไกล) เดียวกัน
ปัญหา
การตั้งค่าหลายไซต์ของ WordPress เปลี่ยนเส้นทางไปยังการติดตั้งพื้นฐาน ในกรณีนี้: ระยะไกล ซึ่งทำให้ยากต่อการทำงานบนฐานรหัสการพัฒนาที่จะมิเรอร์ไซต์ระยะไกลได้อย่างแม่นยำ
เพื่อแก้ไขปัญหานี้ จำเป็นต้องเรียกใช้การติดตั้งสองรายการที่ใช้ฐานข้อมูลต่างกัน ซึ่งอาจนำไปสู่ความขัดแย้งและปัญหาการซิงค์ที่สับสน เนื่องจากในการแก้ไขแต่ละครั้ง ทั้งโค้ดและฐานข้อมูลจะต้องถูกรวมเข้าด้วยกัน
สารละลาย
เราจะใช้ปลั๊กอิน WPMU Domain Mapping
โปรดทราบว่าไฟล์สองสามไฟล์จากปลั๊กอินนี้จะถูกแก้ไขโดยตรง ดังนั้นจึงเป็นสิ่งสำคัญที่ต้องจำไว้หากคุณอัปเดตปลั๊กอินด้วยเหตุผลใดก็ตาม!
กระบวนการนี้ถือว่าคุณมีการติดตั้ง WordPress หลายไซต์ในสภาพแวดล้อมระยะไกลและในเครื่องของคุณ
ขั้นตอนต่อไปนี้สำหรับแต่ละขั้นตอนจะถูกคั่นด้วยโลคัลและรีโมต เนื่องจากเป็นสิ่งสำคัญที่จะต้องมีเวอร์ชันของไฟล์เดียวกันในแต่ละตำแหน่ง
เมื่อตั้งค่าพื้นหลังเสร็จแล้ว มาทำตามขั้นตอนกันเลย!
โครงสร้างไดเร็กทอรีสำหรับหลายไซต์ WordPress ในพื้นที่และระยะไกล
สำหรับการอ้างอิง โครงสร้างไฟล์สำหรับการตั้งค่านี้ ทั้งในสภาพแวดล้อมแบบโลคัลและแบบรีโมตจะเป็นดังนี้:
+-- wp-config.php | +-- .htaccess | +--- wp-เนื้อหา | | | +-- sunrise.php | | | +--- ปลั๊กอิน | | | +-- wordpress-mu-domain-mapping | | | +-- Changelog.txt | | | +--domain_mapping.php | | | +--- readme.txt | | | +-- sunrise.php | | | +-- wordpress-mu-domain-mapping.php
1. รีโมท
ส่วนนี้ให้รายละเอียดเกี่ยวกับไฟล์ระยะไกลและการตั้งค่า
1.1 wp-config.php
ไม่ควรเปลี่ยนแปลงสิ่งนี้บนเซิร์ฟเวอร์ระยะไกล
1.2 การแมปโดเมน WordPress MU (ระยะไกล!)
ดาวน์โหลดปลั๊กอิน WordPress MU Domain Mapping จากที่นี่:
https://en-gb.wordpress.org/plugins/wordpress-mu-domain-mapping/
ติดตั้งบนไซต์ระยะไกลและ "เปิดใช้งานเครือข่าย" เพื่อให้ใช้งานได้ในทุกไซต์
1.3 sunrise.php
คัดลอกไฟล์ sunrise.php จากปลั๊กอิน wordpress-mu-domain-mapping โดยตรงไปยังไดเร็กทอรี wp-content เพื่อให้อยู่ที่นี่:
/wp-content/sunrise.php
1.4 สิ้นสุดการแก้ไขระยะไกล
ตอนนี้คุณแก้ไขไซต์ระยะไกลเสร็จแล้ว เยี่ยมชมสองสามหน้าเพื่อให้แน่ใจว่าคุณไม่ได้ทำสิ่งใดเสียหาย และเราเสร็จสิ้นที่นี่
2. ท้องถิ่น
ส่วนนี้แสดงสิ่งที่ควรทำบน localhost รหัสบางส่วนซ้ำกัน แต่ทั้งหมดจะแสดงเพื่อความสมบูรณ์
2.1 wp-config.php
คัดลอกโค้ดจากด้านล่างและวางลงในไฟล์ wp-config.php ของคุณ จากนั้นคุณสามารถอัปเดตด้วยรายละเอียดจากระยะไกลของคุณ wp-config.php (ฐานข้อมูล ฯลฯ )
คุณจะต้องอัปเดตสิ่งนี้ด้วยรายละเอียดฐานข้อมูลของคุณ ฯลฯ แต่เราจะจบลงด้วยเอกสารที่คล้ายกับที่แสดงด้านล่างใน “ Code Listing 1: wp-config.php “
รายการรหัส 1: wp-config.php
<?phpกำหนด ('สิ่งแวดล้อม', 'การพัฒนา' );
กำหนด ('WP_DEBUG_LOG', จริง);
กำหนด ('WP_DEBUG_DISPLAY' จริง);
กำหนด ('WP_DEBUG', จริง);/* การตั้งค่า MySQL */
/** ชื่อฐานข้อมูลสำหรับ WordPress */
กำหนด ('DB_NAME', 'mysite_db' );/** ชื่อผู้ใช้ฐานข้อมูล MySQL */
กำหนด ('DB_USER', 'mysite_user' );/** รหัสผ่านฐานข้อมูล MySQL */
กำหนด ('DB_PASSWORD', '***********' );/** ชื่อโฮสต์ MySQL */
กำหนด ('DB_HOST', 'example.com' );/** ชุดอักขระฐานข้อมูลเพื่อใช้ในการสร้างตารางฐานข้อมูล */
กำหนด ('DB_CHARSET', 'utf8' );/** ประเภทการเปรียบเทียบฐานข้อมูล อย่าเปลี่ยนสิ่งนี้หากมีข้อสงสัย */
กำหนด ('DB_COLLATE', ” );กำหนด ('AUTH_KEY', '***********' );
กำหนด ('SECURE_AUTH_KEY', '***********' );
กำหนด ('LOGGED_IN_KEY', '***********' );
กำหนด ('NONCE_KEY', '***********' );
กำหนด ('AUTH_SALT', '***********' );
กำหนด ('SECURE_AUTH_SALT', '***********' );
กำหนด ( 'LOGGED_IN_SALT', '***********' );
กำหนด ('NONCE_SALT', '***********' );$table_prefix = 'wp_';
/* หลายไซต์ */
กำหนด ('WP_ALLOW_MULTISITE' จริง);
กำหนด ('หลายไซต์' จริง);
กำหนด ('SUBDOMAIN_INSTALL', เท็จ);
กำหนด ( 'DOMAIN_CURRENT_SITE', 'example.com' );
กำหนด ( 'PATH_CURRENT_SITE', '/' );
กำหนด ( 'SITE_ID_CURRENT_SITE', 1 );
กำหนด ( 'BLOG_ID_CURRENT_SITE', 1 );กำหนด ('ADMIN_COOKIE_PATH', '/' );
กำหนด ('COOKIEPATH', ” );
กำหนด ('SITECOOKIEPATH',” );// WPMU แชร์สิ่ง DB
กำหนด ('พระอาทิตย์ขึ้น', 'เปิด' );
กำหนด ( 'WP_PRODUCTION_DOMAIN', 'example.com' );
กำหนด ( 'WP_DEVELOPMENT_DOMAIN', 'mysite-local-domain' );/* นั่นคือทั้งหมด หยุดแก้ไข! บล็อกที่มีความสุข */
/** เส้นทางสัมบูรณ์ไปยังไดเร็กทอรี WordPress */
ถ้า ( ! กำหนด ( 'ABSPATH' ) ) {
กำหนด ( 'ABSPATH', dirname ( __FILE__ ) . '/' );
}/** ตั้งค่า WordPress vars และไฟล์ที่รวมอยู่ */
require_once( ABSPATH . 'wp-settings.php' );
2.2 การแมปโดเมน WordPress MU (ในเครื่อง!)
เพิ่มปลั๊กอินเดียวกันในไซต์ท้องถิ่น คุณอาจคิดว่าเป็นอย่างนั้น ตามไซต์ระยะไกล แต่คุณคิดผิด!
เปิดไฟล์ domain_mapping.php ในตัวแก้ไขที่คุณชื่นชอบและแก้ไขบรรทัดที่ 708 และ 709 เพื่อให้คำสั่ง if ทั้งหมดมีลักษณะดังนี้:
รายการรหัส 2: domain_mapping.php
if ( $url && $url != untrailingslashit( $protocol . $current_blog->domain . $current_blog->path ) ) {
$redirect = get_site_option( 'dm_301_redirect' ) ? '301' : '302';
if ( กำหนด ( 'VHOST' ) && ค่าคงที่ ( “VHOST” ) != 'ใช่' ) || ( กำหนด ( 'SUBDOMAIN_INSTALL' ) && ค่าคงที่ ( 'SUBDOMAIN_INSTALL' ) == false )) {
$_SERVER[ 'REQUEST_URI' ] = str_replace( $current_blog->path, '/', $_SERVER[ 'REQUEST_URI' ] );
}
// header( “ตำแหน่ง: {$url}{$_SERVER[ 'REQUEST_URI' ]}”, จริง, $redirect );
// ออก;
}
2.3 sunrise.php
ขั้นแรก ให้คัดลอกไฟล์ sunrise.php จากปลั๊กอินการแมปโดเมน wordpress-mu-domain ไปยังไดเร็กทอรี wp-content อาจมีไฟล์ sunrise.php ที่นี่อยู่แล้ว ไม่ต้องกังวล - เพียงแค่เขียนทับ
คัดลอกจากที่นี่:
/wp-content/plugins/wordpress-mu-domain-mapping/sunrise.php
ไปที่นี่:
/wp-content/sunrise.php
ถัดไป แก้ไขไฟล์ sunrise.php ใหม่ โดยเพิ่มบรรทัดรอบบรรทัดที่ 40 เพื่อให้ดูเหมือนโค้ดด้านล่าง:
Code Listing 3: sunrise.php
<?php if ( ! กำหนด ( 'SUNRISE_LOADED' ) ) { กำหนด ( 'SUNRISE_LOADED', 1 ); } if ( กำหนด ( 'COOKIE_DOMAIN' ) ) { die ( 'ค่าคงที่ "COOKIE_DOMAIN" ถูกกำหนด (อาจอยู่ใน wp-config.php) โปรดลบหรือแสดงความคิดเห็นว่าบรรทัด define()' ); } $wpdb->dmtable = $wpdb->base_prefix 'domain_mapping';
$dm_domain = $_SERVER['HTTP_HOST'];if ( ( $nowww = preg_replace( '|^www.|', ”, $dm_domain ) ) != $dm_domain ) {
$where = $wpdb->prepare( 'โดเมนใน (%s,%s)', $dm_domain, $nowww );
} อื่นๆ {
$where = $wpdb->prepare( 'domain = %s', $dm_domain );
}$wpdb->suppress_errors();
$domain_mapping_id = $wpdb->get_var( “SELECT blog_id FROM {$wpdb->dmtable} WHERE {$where} ORDER BY CHAR_LENGTH(domain) DESC LIMIT 1” );
$wpdb->suppress_errors( เท็จ );
ถ้า ( $domain_mapping_id ) {
$current_blog = $wpdb->get_row( “SELECT * FROM {$wpdb->blogs} WHERE blog_id = '$domain_mapping_id' LIMIT 1” );
$current_blog->โดเมน = $dm_domain;
$current_blog->เส้นทาง = '/';
$blog_id = $domain_mapping_id;
$site_id = $current_blog->site_id;กำหนด ('COOKIE_DOMAIN', $dm_domain );
$current_site = $wpdb->get_row( “SELECT * จาก {$wpdb->site} WHERE id = '{$current_blog->site_id}' LIMIT 0,1” );
$current_site->blog_id = $wpdb->get_var( “เลือก blog_id จาก {$wpdb->blogs} WHERE domain='{$current_site->domain}' AND path='{$current_site->path}'” );
ถ้า ( function_exists ( 'get_site_option' ) ) {
$current_site->site_name = get_site_option( 'site_name' );
} elseif ( function_exists ( 'get_current_site_name' ) ) {
$current_site = get_current_site_name( $current_site );
}![]()
กำหนด ( 'DOMAIN_MAPPING', 1 );
}/*
* 1) เพิ่มรหัส MULITISITE
*/// กรองโดเมนที่แสดง/ส่งออกเป็น HTML
add_filter( 'pre_option_home', 'dev_pre_url_filter', 1 );
add_filter( 'pre_option_siteurl', 'dev_pre_url_filter', 1 );
add_filter( 'the_content', 'dev_content_filter', 100 );
add_filter( 'content_url', 'dev_content_url_filter', 100, 2 );
add_filter( 'post_thumbnail_html', 'dev_content_filter', 100 );
add_filter( 'wp_get_attachment_link', 'dev_content_filter', 100 );
add_filter( 'wp_get_attachment_url', 'dev_content_filter', 100 );
add_filter( 'upload_dir', 'dev_upload_dir_filter', 10 );ฟังก์ชัน dev_pre_url_filter () {
ทั่วโลก $wpdb, $path, $switched;
$url;
$switched_path;
$blog_id = get_current_blog_id();ถ้า ( ! $switched ) {
$url = is_ssl() ? 'https://' : 'http://';
$url .= WP_DEVELOPMENT_DOMAIN;
ถ้า ( ! is_main_site() ) {
$url .= rtrim( $เส้นทาง, '/' );
}ส่งคืน $url;
} อื่นๆ {
$switched_path = $wpdb->get_var( “เลือกพาธจาก {$wpdb->blogs} โดยที่ blog_id = {$blog_id} เรียงลำดับตาม CHAR_LENGTH(พาธ) DESC LIMIT 1” );
$url = is_ssl() ? 'https://' : 'http://';
$url .= WP_DEVELOPMENT_DOMAIN;
$url .= rtrim( $switched_path, '/' );ส่งคืน $url;
}
}ฟังก์ชัน dev_content_filter( $post_content ) {
ทั่วโลก $wpdb;$blog_details = get_blog_details();
$original_url = $wpdb->get_var( “เลือกโดเมนจาก {$wpdb->dmtable} โดยที่ blog_id = {$blog_details->blog_id} ORDER BY CHAR_LENGTH(domain) DESC LIMIT 1” );
$dev_url = WP_DEVELOPMENT_DOMAIN . $blog_details->เส้นทาง;if ( $original_url !== null ) {
$post_content = str_replace( $original_url . '/', $original_url, $post_content );
$post_content = str_replace( $original_url, $dev_url, $post_content );
}
// เปลี่ยน URL ทั้งหมดให้ชี้ไปที่การแสดงละคร (รูปภาพ, จุดยึด, อะไรก็ได้ในเนื้อหาโพสต์)
$post_content = str_replace( WP_PRODUCTION_DOMAIN, WP_DEVELOPMENT_DOMAIN, $post_content );
// เปลี่ยน URL สำหรับ "อัปโหลด" ให้ชี้ไปที่การผลิตเพื่อให้มองเห็นภาพได้
$post_content = str_replace( WP_DEVELOPMENT_DOMAIN . $blog_details->path . 'wp-content/uploads', WP_PRODUCTION_DOMAIN . $blog_details->path . 'wp-content/uploads', $post_content );ส่งคืน $post_content;
}/*
* กรองฟังก์ชัน content_url – ค้นหาการเรียก content_url('upload') โดยเฉพาะ โดยที่เส้นทางมีการอัปโหลดในสตริง
*
* เพิ่มเพื่อให้ MU-Plugins สามารถใช้ content_url บน DEV และ PROD
*/
ฟังก์ชัน dev_content_url_filter( $url, $path ) {
if ( ! empty( $path ) && strpos( $path, 'uploads' ) !== false ) {
ส่งคืน str_replace( WP_DEVELOPMENT_DOMAIN, WP_PRODUCTION_DOMAIN, $url );
}ส่งคืน $url;
}ฟังก์ชัน dev_upload_dir_filter( $param ) {
$param['url'] = str_replace( WP_DEVELOPMENT_DOMAIN, WP_PRODUCTION_DOMAIN, $param['url'] ); $param['url'] = str_replace( WP_DEVELOPMENT_DOMAIN, WP_PRODUCTION_DOMAIN, $param['url'] );
$param['baseurl'] = str_replace( WP_DEVELOPMENT_DOMAIN, WP_PRODUCTION_DOMAIN, $param['baseurl'] ); $param['baseurl'] = str_replace( WP_DEVELOPMENT_DOMAIN, WP_PRODUCTION_DOMAIN, $param['baseurl'] );ส่งคืน $param;
}/*
* แทนที่สำหรับ /wp-includes/ms-load.php get_site_by_path
*/
ฟังก์ชัน dev_get_site_by_path( $_site, $_domain, $_path, $_segments, $_paths ) {
โกลบอล $wpdb, $path;// เพื่อให้มีการจับคู่ที่เป็นไปได้ในฐานข้อมูล ตั้งค่า $_domain เป็น WP_PRODUCTION_DOMAIN
$_domain = WP_PRODUCTION_DOMAIN;// ค้นหาไซต์ที่ตรงกับโดเมนและส่วนเส้นทางแรก
$site = $wpdb->get_row( $wpdb->prepare( “SELECT * FROM $wpdb->blogs WHERE domain = %s and path = %s”, $_domain, $_paths[0] ) );
$current_path = $_paths[0];ถ้า ( $site === null ) {
// โดยเฉพาะสำหรับบล็อกหลัก – หากไม่พบไซต์ให้โหลดบล็อกหลัก
$site = $wpdb->get_row( $wpdb->prepare( “SELECT * FROM $wpdb->blogs WHERE domain = %s and path = %s”, $_domain, '/' ) );
$current_path = '/';
}// กำหนดเส้นทางให้ตรงกับส่วนแรก
$path = $current_path;ส่งคืน $site;
}add_filter( 'pre_get_site_by_path', 'dev_get_site_by_path', 1, 5 );
3. .htaccess (ในเครื่อง)
แทรกข้อมูลต่อไปนี้ลงในไฟล์ . htaccess ของคุณ (โปรดทราบว่าไดเร็กทอรีในเครื่องถูกลบออกจากบรรทัดสุดท้าย index.php RewriteRule):
รายการรหัส 4: .htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>;
RewriteEngine บน
รีไรท์เบส /
RewriteRule ^index.php$ – [L]# เพิ่มเครื่องหมายทับที่ /wp-admin
กฎการเขียนใหม่ ^wp-admin$ wp-admin/ [R=301,L]RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*.php)$ $1 [L]
เขียนกฎใหม่ /index.php [L]
</IfModule>;# END WordPress
4. โฮสต์เสมือน
ตั้งค่าโฮสต์เสมือนเพื่อให้คุณสามารถพิมพ์ค่าที่กำหนดใน wp-config.php (ด้านบน) สำหรับ WP_DEVELOPMENT_DOMAIN ลงในแถบที่อยู่ของเบราว์เซอร์และไปที่ไซต์ โดยปกติคุณจะพิมพ์ localhost แต่สิ่งนี้จะแทนที่
ในโค้ดตัวอย่าง (ด้านบน) โฮสต์เสมือนถูกตั้งค่าให้ใช้ "price-buckland" ในแถบที่อยู่และตรงไปยังไดเร็กทอรีที่มี WordPress
ขั้นตอนการเพิ่มโฮสต์เสมือนในสภาพแวดล้อม MAMP มีดังนี้:
1) ในเทอร์มินัล:
$ sudo vi /etc/hosts
2) เพิ่มบรรทัดต่อไปนี้ โดยแทนที่ตามความเหมาะสมสำหรับที่อยู่ที่คุณต้องการพิมพ์ลงในเบราว์เซอร์ของคุณ:
127.0.0.1 mysite-local-domain
3) ต่อไป เราต้องการเปิดใช้งานโฮสต์เสมือนสำหรับสภาพแวดล้อมในพื้นที่ของคุณ ดังนั้นให้เปิดไฟล์ต่อไปนี้เพื่อแก้ไข:
$ sudo vi /Applications/MAMP/conf/apache/httpd.conf
ค้นหาบรรทัดเหล่านี้:
# โฮสต์เสมือน # รวม /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
และยกเลิกการใส่เครื่องหมายบรรทัด "รวม" เช่น:
# โฮสต์เสมือน รวม /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
4) ตอนนี้แก้ไขไฟล์ต่อไปนี้:
$ sudo vi /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
และเพิ่มสองรายการ – อย่างแรกเพื่ออนุญาต 'localhost' ในเบราว์เซอร์ของคุณ และประการที่สอง เพื่อเพิ่มโฮสต์เสมือนใหม่ ทำให้คุณสามารถพิมพ์โดเมนที่กำหนดเองลงในเบราว์เซอร์ของคุณและเข้าถึงเซิร์ฟเวอร์ในพื้นที่ของคุณ:
DocumentRoot "/ผู้ใช้/ชื่อผู้ใช้/htdocs/"
ชื่อเซิร์ฟเวอร์ localhost
DocumentRoot "/ผู้ใช้/ชื่อผู้ใช้/htdocs/mysite-local-directory"
ชื่อเซิร์ฟเวอร์ mysite-local-domain
5) รีสตาร์ทเซิร์ฟเวอร์ apache ในกรณีของฉัน MAMP แต่จากการรันบรรทัดคำสั่ง:
apachectl รีสตาร์ท
หากทุกอย่างเป็นไปด้วยดี ตอนนี้คุณควรมีการตั้งค่าการทำงานที่ให้คุณเขียนโค้ดสำหรับการติดตั้ง WordPress ที่โฮสต์ในเครื่อง ซึ่งใช้ฐานข้อมูลระยะไกล
คุณควรจะสามารถผลักดันการเปลี่ยนแปลงของคุณไปยังเซิร์ฟเวอร์ระยะไกล และดูสำเนาที่ถูกต้องบนไซต์ระยะไกลได้
การแก้ไขปัญหา คำเตือน และ gotchas!
น่าเสียดายที่หลายสิ่งหลายอย่างอาจผิดพลาดได้ นี่คืออาการและสิ่งที่ควรลอง:
- หน้าผู้ดูแลระบบใช้ได้ แต่ฉันไม่สามารถเยี่ยมชมหน้าส่วนหน้าภายในใด ๆ ได้!
- .htaccess หายไปหรือยังไม่ได้เริ่มต้น เพิ่มไฟล์และบันทึกลิงก์ถาวรของคุณอีกครั้ง
- เพิ่มเติมเร็ว ๆ นี้!
เมื่อทำงานในไซต์ท้องถิ่นของคุณ หากคุณไปที่:
ไซต์ของฉัน > ผู้ดูแลเครือข่าย > แดชบอร์ด
จะพาคุณไปยังไซต์ระยะไกล เช่น:
example.com/wp-admin/network
นี่อาจไม่ใช่สิ่งที่คุณต้องการ แต่คุณสามารถพิมพ์ลงในแถบที่อยู่ได้โดยตรงและยังคงอยู่ในสภาพแวดล้อมท้องถิ่น เช่น:
mysite-local/wp-admin/network
บทสรุป
หากทุกอย่างเป็นไปด้วยดี ตอนนี้คุณควรมีการตั้งค่าการทำงานที่ให้คุณเขียนโค้ดสำหรับการติดตั้ง WordPress ที่โฮสต์ในเครื่อง ซึ่งใช้ฐานข้อมูลระยะไกล
คุณควรจะสามารถผลักดันการเปลี่ยนแปลงของคุณไปยังเซิร์ฟเวอร์ระยะไกล และดูสำเนาที่ถูกต้องบนไซต์ระยะไกลได้
แจ้งให้เราทราบว่าคุณปฏิบัติตามคำแนะนำทีละขั้นตอนสำหรับ WordPress หลายไซต์สำหรับการพัฒนาในพื้นที่และระยะไกลในความคิดเห็นด้านล่างได้อย่างไร
หากคุณต้องการความช่วยเหลือเกี่ยวกับการพัฒนาเว็บ อย่าลังเลที่จะติดต่อเรา
