我正在制作一个小部件,我需要在WordPress网站上显示最近的帖子和博客存档。我可以通过将内容加载到iframe中来获取窗口小部件的提要。但我不需要在小部件中显示wordpress页面的页眉和页脚。
我使用了几个插件来创建一个没有页眉和页脚的虚拟页面,这对于博客存档很有用。但对于个人帖子页面,插件不会让我把页眉和页脚拿出来。
尝试从窗口小部件访问iframe中的内容时遇到了跨源问题。
我是否可以通过其他方式在小部件中执行此操作?或者在wordpress中有没有办法做到这一点?
你无法访问iframe的DOM。您将要做的是获取外部内容(当前在iframe中加载)并使用php库(如PHPQuery或SimpleHtmlDOM)对其进行操作。根据我的经验,PHPQuery比其他人表现更好。
我能够通过检查页面(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" );
}
});