我试图在我们的网站上嵌入一个wordpress博客到页面。实际的博客虽然每页不显示10篇文章,当你向下滚动时,它会不断增长。没完没了。在iframe中嵌入一个永无止境的WordPress博客?
我试着将高度设置为巨量,或将其设置为自动,但都无济于事。有任何想法吗?
<iframe src="http://myblog.wordpress.com/" width="100%" height="50000" scrolling="no"></iframe>
我试图在我们的网站上嵌入一个wordpress博客到页面。实际的博客虽然每页不显示10篇文章,当你向下滚动时,它会不断增长。没完没了。在iframe中嵌入一个永无止境的WordPress博客?
我试着将高度设置为巨量,或将其设置为自动,但都无济于事。有任何想法吗?
<iframe src="http://myblog.wordpress.com/" width="100%" height="50000" scrolling="no"></iframe>
有点迟到的答案,但有人可能会觉得它有用。
我对现有项目做了同样的事情。它包括以下
XML-RPC API
小号XML-RPC.NET
图书馆Ajax
ActionLink的加载更多帖子WordPress的XML-RPC的API
的有看看WordPress的'XML-RPC API
s,这些让你直接与你的Wordpress安装沟通。您可以使用一整套方法,例如获取所有帖子,添加帖子等,并且通过修改一些PHP
文件很容易添加您自己的方法。
您可以找到的文档here
XML-RPC.NET图书馆
会碰上XML-RPC
已经来了,如果你已经在过去所做的PHP,但其一般并不常见.NET
开发。为了让生活更轻松,我最终使用了Charles Cook的XML-RPC.NET
库。这个方便的库创建远程调用,甚至反序列化响应。
继承人我的代码来获得职位
public interface IWordPress : IXmlRpcProxy
{
[XmlRpcMethod("wp.getPosts")]
Post[] GetPosts(int blog_id, string username, string password, PostFilter filter);
}
public class PostFilter
{
//Ignore the first...
public string offset { get; set; }
//Bring back this many posts
public int number { get; set;
}
public struct Post
{
public string post_id { get; set; }
public string post_title { get; set; }
public string post_status { get; set; }
public DateTime post_date { get; set; }
public string post_content { get; set; }
public string post_author { get; set; }
}
确保属性名称匹配的WordPress的API文档中列出,否则他们不会映射。
你可以找到XML-RPC.NET here
阿贾克斯ActionLink的加载更多帖子
和你一样,我想加载信息动态,所以我结束了使用的Ajax Actionlink创建异步请求我控制器,后者又称为Wordpress API。
这里是我的代码
@Ajax.ActionLink("Load more posts!", "action", "controller",
new { offset = Model.Offset },
new AjaxOptions
{
InsertionMode = InsertionMode.InsertAfter,
UpdateTargetId = "post-items",
OnSuccess = "loadItemsSucccess",
OnBegin = "loadItemsBegin"
}, null)
正如你可以看到我在经过我们穿越到wp.getposts方法的偏移值。它告诉wordpress api忽略第一个x的数量。您只需要在帖子进入时不断更改此值。
缓存
一般是在同时,包括图像加载9帖子相当快,但你应该考虑做一些形式的缓存。我结束了使用标准output cache attribute。
虽然我的解决方案不使用iframe,但我认为它提供了更多的灵活性,因为您可以直接控制数据。
希望这会有所帮助。