我正在制作一个小部件,其中需要显示WordPress网站上的最新帖子和博客存档。我可以通过将内容加载到iframe中来获取小部件的供稿。但是我不需要在小部件中显示wordpress页面的页眉和页脚。
我使用了几个插件来制作一个没有页眉和页脚的虚拟页面,该页面适用于博客存档。但是对于单个帖子页面,该插件不会让我删除页眉和页脚。
当尝试从小部件访问iframe中的内容时,我遇到了跨源问题。
在小部件中还有另一种方法吗?还是在wordpress中有任何方法可以做到这一点?
答案 0 :(得分:0)
您无法访问iframe的DOM。您要做的是获取外部内容(当前已加载到iframe中),并使用诸如PHPQuery或SimpleHtmlDOM之类的php库对其进行操作。根据我的经验,PHPQuery的性能优于其他。
答案 1 :(得分:0)
我能够通过检查页面(WordPress)是否已加载到iframe中来解决该问题,如果是,请进行某些样式更改。我是在WordPress本身中完成的,因此每次将页面加载到小部件中时,它就会知道它位于iframe中,因此会更改样式。
$( document ).ready(function() {
if (top === self) {
//do nothing
} else {
jQuery( ".single-post header" ).css( "display", "none" );
jQuery( ".single-post .related_wrap" ).css( "display", "none" );
jQuery( ".single-post .comments_wrap" ).css( "display", "none" );
jQuery( ".single-post footer" ).css( "display", "none" );
}
});