另一个wordpress网站

时间:2017-06-28 14:42:43

标签: php wordpress include xss

我在不同的子域名上有2个wordpress网站。第一个site1.mydomain.com和site2.mydomain.com

我想要做的是在site2上显示site1的页眉和页脚

我试过这个插件:https://wordpress.org/plugins/external-header-footer/但我认为它不起作用。

有没有人知道其他任何解决方案?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我使用wp_remote_get()TransientsDOMDocument完成了此操作。

一个例子:

 function get_site_html() {

   $transient = get_transient('site_html');

   if(false === $transient) {
     $site_url       = 'https://YOUR-SITE.com';
     $response       = wp_remote_get(esc_url_raw($site_url));
     $response_code  = wp_remote_retrieve_response_code($response);
     $response_body  = wp_remote_retrieve_body($response);
     $response_error = null;

     if(is_wp_error($response)) {
       $response_error = $response;
     } elseif(200 !== $response_code) {
       $response_error = new WP_Error('html-error', sprintf(__('Invalid response code while retrieving HTML (%d)'), $response_code));
     } elseif(empty($response_body)) {
       $response_error = new WP_Error('html-response', isset($response_body['error']) ? $response_body['error'] : __('Unknown error retrieving HTML.'));
     }

     if(is_wp_error($response_error)) {
       return $response_error->get_error_message();
     } else {
       set_transient('site_html', $response_body, DAY_IN_SECONDS);
     }
   }

   $transient = get_transient('site_html');

   return $transient;
 }

一旦您将完整网站的HTML保存在瞬态中,您就可以使用DOMDocument获取/添加/删除特定元素。