您可以使用 phpmyadmin 将 wordpress 帖子放到外部站点吗?

Posted

技术标签:

【中文标题】您可以使用 phpmyadmin 将 wordpress 帖子放到外部站点吗?【英文标题】:Can you use phpmyadmin to put wordpress posts to an external site? 【发布时间】:2017-03-09 07:30:51 【问题描述】:

我知道这可能是个愚蠢的问题。我有一个用 php 构建的网站,我有一个部分希望从 Wordpress 中提取 3 个响应式帖子。

我尝试过使用 API 和 JSON 卷曲但没有任何运气,主要是因为我对这些东西缺乏了解。不知道是否可以更容易地拉入 PHPMyAdmin,然后我可以编写代码以从中提取信息并使其响应?

【问题讨论】:

您是否希望将信息从单个 Wordpress 站点提取到您的站点中?你不能只使用 RSS 提要吗?或者,如果您可以访问两个站点的代码,只需创建一个 php 文件,该文件将新数据输入拉入 wordpress 站点并将其直接发布到另一个数据库? (您需要允许到数据库的外部连接,这可能是不确定的) 我会使用 RSS 提要,但我可能会将图像发布到 wordpress 帖子中,但我被告知我不能为此使用 RSS。我只想让我的 wordpress 精选 3 篇最新帖子,并将它们直接放在我的个人网站上,而不是 wordpress 网站。原因是我想从我的手机更新我 index.php 页面的一小部分,而不必每次我想发布一些东西时都手动编写代码。 呃,什么?当然,您可以使用 RSS 推送图像。谁告诉你不同的是错的。看看这个帖子:***.com/questions/483675/images-in-rss-feed 哈哈,我觉得自己很愚蠢...我应该多研究一下,但就像我说的那样,我正在偏离别人告诉我的内容。让我看看这个! 好吧 junkfoodjunkie 我在下面添加了一个部分,其中包含我现在使用的代码!希望你能帮忙! 【参考方案1】:

这是我修改后的 php

<section id="blog">
<div class="container-fluid">
    <div class="row">
<div id="featured_posts">

<?php

// output RSS feed to html
output_rss_feed('http://www.bmcsquincy.com/featured_posts/feed', 20, true, true, 200);

// Check http://www.systutorials.com/136102/a-php-function-for-fetching-rss-feed-and-outputing-feed-items-as-html/ for description
// RSS to HTML
/*
    $item_cnt: max number of feed items to be displayed
    $max_words: max number of words (not real words, HTML words)
    if <= 0: no limitation, if > 0 display at most $max_words words
 */
function get_rss_feed_as_html($feed_url, $max_item_cnt = 10, $show_date = true, $show_description = true, $max_words = 0, $cache_timeout = 7200, $cache_prefix = "/tmp/rss2html-")

    $result = "";
    // get feeds and parse items
    $rss = new DOMDocument();
    $cache_file = $cache_prefix . md5($feed_url);
    // load from file or load content
    if ($cache_timeout > 0 &&
        is_file($cache_file) &&
        (filemtime($cache_file) + $cache_timeout > time())) 
            $rss->load($cache_file);
     else 
        $rss->load($feed_url);
        if ($cache_timeout > 0) 
            $rss->save($cache_file);
        
    
    $feed = array();
    foreach ($rss->getElementsByTagName('item') as $node) 
        $item = array (
            'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
            'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
            'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
            'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
        );
        $content = $node->getElementsByTagName('encoded'); // <content:encoded>
        if ($content->length > 0) 
            $item['content'] = $content->item(0)->nodeValue;
        
        array_push($feed, $item);
    
    // real good count
    if ($max_item_cnt > count($feed)) 
        $max_item_cnt = count($feed);
    
    $result .= '<ul class="feed-lists">';


    //ADDED THIS FOR POST AMOUNT
    $max_item_cnt = 3;

    for ($x=0;$x<$max_item_cnt;$x++) 
        $title = str_replace(' & ', ' &amp; ', $feed[$x]['title']);
        $link = $feed[$x]['link'];
        $result .= '<li class="feed-item">';
        $result .= '<div class="feed-title"><strong><a href="'.$link.'" title="'.$title.'">'.$title.'</a></strong></div>';
        if ($show_date) 
            $date = date('l F d, Y', strtotime($feed[$x]['date']));
            $result .= '<small class="feed-date"><em>Posted on '.$date.'</em></small>';
        
        if ($show_description) 
            $description = $feed[$x]['desc'];
            $content = $feed[$x]['content'];
            // find the img
            $has_image = preg_match('/<img.+src=[\'"](?P<src>.+?)[\'"].*>/i', $content, $image);
            // no html tags
            $description = strip_tags($description, '');
            // whether cut by number of words
            if ($max_words > 0) 
                $arr = explode(' ', $description);
                if ($max_words < count($arr)) 
                    $description = '';
                    $w_cnt = 0;
                    foreach($arr as $w) 
                        $description .= $w . ' ';
                        $w_cnt = $w_cnt + 1;
                        if ($w_cnt == $max_words) 
                            break;
                        
                    
                    $description .= " ...";
                
            
            // add img if it exists



                //ADDED THE P IN DESCRIPTION LINE TO FOR A BREAK BY IMAGE

                if ($has_image == 1) 
                    $description = '<p> <img class="feed-item-image" src="' . $image['src'] . '" /></p>' . $description;
                
                $result .= '<div class="feed-description">' . $description;

                //ADDED THE P IN THIS TO LINE BREAK CONTINUE READING

                $result .= '<p> <a href="'.$link.'" title="'.$title.'">Continue Reading &raquo;</a></p>'.'</div>';
            
            $result .= '</li>';
        
        $result .= '</ul>';
        return $result;
    
    function output_rss_feed($feed_url, $max_item_cnt = 10, $show_date = true, $show_description = true, $max_words = 0)
    
        echo get_rss_feed_as_html($feed_url, $max_item_cnt, $show_date, $show_description, $max_words);
    
    ?>

    </div><!--END FEATURED POSTS-->
        </div><!--END ROW-->
        </div><!--END CONTAINER-->
    </section><!--END SECTION BLOG-->       

这是我的css

#blog 
    background-color: yellow;
    color: #dbdbdb;
    width: 100%;
    padding-top: 100px;
    padding-bottom: 100px;
    margin: 0px auto 0px auto;


#featured_posts 
    background-color: pink;
    max-width: 1200px;
    margin: 0px auto 0px auto;
    padding: 5px;


#featured_posts ul 
    display: inline-block;
    margin: 0px auto 0px auto;
    text-align: center;
    padding: 0px;


#featured_posts li 
    list-style-type: none;
    text-align: left;
    padding: 30px;
    float: left;
    font-family: pathwaygothic;
    font-size: 1em;
    background-color: purple;
    max-width: 1200px;
    margin-left: 25px;


.feed-lists 
  background-color: aqua;
  width: 100%;



.feed-title a 
    color: red;


.feed-date 
    color: aqua;


.feed-description 
    width: 300px;


.feed-lists li 
    background-color: green;

【讨论】:

您可能希望将这些&lt;p&gt;s 包装在一个容器中(如&lt;div&gt;)并将它们设置为具有设定宽度的display: inline-block;,或使用display: flex; 或其他东西(甚至float: left;) 让他们排队。 好吧,垃圾食品迷。最后两个问题,我发誓我不会再打扰你了!我已经尝试了我所知道的关于 php 的一切来计算如何将描述量增加到一定量。我想不通!我还有最后一个问题是当我插入 css 时,我的 3 个帖子几乎都居中,但它们仍然在最左边,我不知道为什么!任何帮助将不胜感激!首先,您对 rss 能够显示图像的看法是正确的!【参考方案2】:

如果我这样做,我会安装我的 WordPress 网站以发布您尝试展示的文章的 RSS 提要,并使用一些 javascript 在您定制的 PHP 网站上显示该提要。

有 WordPress 插件和 JavaScript 组件可用于完成所有这些操作。

【讨论】:

谢谢奥利,我会调查的!

以上是关于您可以使用 phpmyadmin 将 wordpress 帖子放到外部站点吗?的主要内容,如果未能解决你的问题,请参考以下文章

Wordpres标头背景图片

如何使用 phpMyAdmin 连接到您的 Prod/Dev 数据库?

来自 phpMyAdmin 的跟踪报告的 MySQL 表

根据 phpmyadmin 中的类别 ID 获取 wordpress 帖子 ID 列表

MAMP:将大型数据库导入 phpMyAdmin

在phpMyAdmin中将数据从表自动传输到另一个表