我在不同的子域名上有2个wordpress网站。第一个site1.mydomain.com和site2.mydomain.com
我想要做的是在site2上显示site1的页眉和页脚
我试过这个插件:https://wordpress.org/plugins/external-header-footer/但我认为它不起作用。
有没有人知道其他任何解决方案?
提前致谢。
答案 0 :(得分:0)
我使用wp_remote_get()
,Transients和DOMDocument完成了此操作。
一个例子:
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获取/添加/删除特定元素。