有没有一种方法可以处理加载到外部iframe中的wordpress帖子样式?

时间:2019-04-30 10:05:57

标签: javascript html wordpress

我正在制作一个小部件,其中需要显示WordPress网站上的最新帖子和博客存档。我可以通过将内容加载到iframe中来获取小部件的供稿。但是我不需要在小部件中显示wordpress页面的页眉和页脚。

我使用了几个插件来制作一个没有页眉和页脚的虚拟页面,该页面适用于博客存档。但是对于单个帖子页面,该插件不会让我删除页眉和页脚。

当尝试从小部件访问iframe中的内容时,我遇到了跨源问题。

在小部件中还有另一种方法吗?还是在wordpress中有任何方法可以做到这一点?

2 个答案:

答案 0 :(得分:0)

您无法访问iframe的DOM。您要做的是获取外部内容(当前已加载到iframe中),并使用诸如PHPQuerySimpleHtmlDOM之类的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" );
  }
});