hijacking home_url für root relative Pfade

Ich hatte Probleme mit dem vollständigen Domain-Namen, der in den Pfad von Links und Assets geschrieben wurde. Grundsätzlich funktioniert localhost: XXXX, bis ich versuche, meine Site von einer Virtual Box Installation von XP oder in meinem lokalen Netzwerk zu erreichen, wo sich die Domain zu Computername.local: XXXX ändert

Ich habe es geschafft, dieses Problem mit einem Tipp von http://www.deluxeblogtips.com/2012/06/relative-urls.html (Code unten) zu lösen

Das Problem ist, dass home_url, auf das in meinem Thema verwiesen wird, immer noch die vollständige Domäne zurückgibt, anstatt nur “/” als root. Gibt es eine Möglichkeit, home_url zu filtern, um dies zu tun? Ja, ich könnte define('WP_HOME', '/' ); Das zwingt den Pfad, aber verursacht andere Probleme mit Feed-Readern und Plugins – es funktioniert wahrscheinlich auch nicht mit Unterverzeichnisinstallationen.

Danke für deine Gedanken

 add_action( 'template_redirect', 'rw_relative_urls' ); function rw_relative_urls() { // Don't do anything if: // - In feed // - In sitemap by WordPress SEO plugin if ( is_feed() || get_query_var( 'sitemap' ) ) return; $filters = array( 'post_link', 'post_type_link', 'page_link', 'attachment_link', 'get_shortlink', 'post_type_archive_link', 'get_pagenum_link', 'get_comments_pagenum_link', 'term_link', 'search_link', 'day_link', 'month_link', 'year_link', ); foreach ( $filters as $filter ) { add_filter( $filter, 'wp_make_link_relative' ); } home_url($path = '', $scheme = null); } 

Solutions Collecting From Web of "hijacking home_url für root relative Pfade"

Sie müssen WP_HOME und WP_SITEURL in wp-config.php auf eine intelligentere Weise wp-config.php . So was:

 < ?php define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']); // add the next line if you have a subdirectory install define('WP_SITEURL', WP_HOME . '/path/to/wordpress'); 

Dadurch werden Ihre Probleme mit Website-URLs getriggers, da sie basierend auf dem Hostnamen dynamisch festgelegt werden. Dies ist der richtige Weg, dies zu tun - es ist etwas, das ich praktisch auf WP installiere und es ist sogar im Codex . Glaub mir, du willst keine relativen URLs .

home_url ruft get_home_url das den Filter home_url :

 return apply_filters( 'home_url', $url, $path, $orig_scheme, $blog_id ); 

siehe /wp-includes/link-template.php