您可以使用 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(' & ', ' & ', $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 »</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;
【讨论】:
您可能希望将这些<p>
s 包装在一个容器中(如<div>
)并将它们设置为具有设定宽度的display: inline-block;
,或使用display: flex;
或其他东西(甚至float: left;
) 让他们排队。
好吧,垃圾食品迷。最后两个问题,我发誓我不会再打扰你了!我已经尝试了我所知道的关于 php 的一切来计算如何将描述量增加到一定量。我想不通!我还有最后一个问题是当我插入 css 时,我的 3 个帖子几乎都居中,但它们仍然在最左边,我不知道为什么!任何帮助将不胜感激!首先,您对 rss 能够显示图像的看法是正确的!【参考方案2】:
如果我这样做,我会安装我的 WordPress 网站以发布您尝试展示的文章的 RSS 提要,并使用一些 javascript 在您定制的 PHP 网站上显示该提要。
有 WordPress 插件和 JavaScript 组件可用于完成所有这些操作。
【讨论】:
谢谢奥利,我会调查的!以上是关于您可以使用 phpmyadmin 将 wordpress 帖子放到外部站点吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 phpMyAdmin 连接到您的 Prod/Dev 数据库?