如何在WordPress页面上显示网站内容?

时间:2018-07-08 作者:Insiter Media

所以,我在一个游戏网站上工作了很长时间。

有一些类似于我用Wordpress制作的网站,但它们会显示游戏的警报(从其他网站获取)。

例如,释放Vbucks。com/定时任务/

此页面显示来自此URL stormshield的信息。一个/pve/

有没有可能复制同样的东西,我的意思是,很明显是这样的。但我一直想知道这是怎么做到的?

2 个回复
SO网友:Rick Hellewell

虽然CURL请求可以工作,但您应该使用wp_remote_post() 对外部页面进行请求,尤其是在编写插件或主题时。(插件审查不喜欢CURL请求;他们会要求您转换为wp_remote_post().

看见https://codex.wordpress.org/Function_Reference/wp_remote_post . 返回值包括请求的头和所有内容。然后可以根据需要解析该返回值。

SO网友:Dominik Späte

这可以通过卷曲来完成,例如。

add_shortcode(\'get_curl_content\', function ($args) {
    $ret = \'\';
    if (!empty($args[\'url\']) && filter_var($args[\'url\'], FILTER_VALIDATE_URL)) {
        $ch = curl_init($args[\'url\']);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $html = curl_exec($ch);
        curl_close($ch);
        // extract some content from $html using DOMDocument or regex
        // $ret = \'Your extracted content\';
    }
    return $ret;
});
在您的帖子中使用以下短代码:

[get_curl_content url="https://url-to-scrape.com"]

编辑:使用wp_remote_post 而不是curl

在WordPress中,wp_remote_post 更合适的方法是:

add_shortcode(\'get_curl_content\', function ($args) {
    $ret = \'\';
    $remote = wp_remote_post($args[\'url\']);
    if (is_array($remote) && isset($remote[\'body\'])) {
        // extract some content from $remote[\'body\'] using DOMDocument or regex
        // $ret = \'Your extracted content\';
    }
    return $ret;
});

结束

相关推荐

Display oEmbed in the_excerpt

我当前正在添加add_filter(\'the_excerpt\', array($wp_embed, \'autoembed\'), 9); 给我的functions.php 如果没有任何其他建议,那就太好了。如果我添加$content-width 至功能。php忽略设置。我有wp-debug 打开,没有错误/警告,也没有记录错误。