相信很多 WordPress 主题制作者一定都遇到过这种情况,自己辛辛苦苦写好的主题,而且提供了演示站点。但某些 WordPress 模板收集网站却以 iframe 框架的形式来加载演示站点,并且在引入页面加上了大量的广告。这样会对很多主题的用户造成一种困惑,让用户们以为这个主题是不是本身就带有很多广告链接呢?为了让用户不产生这种疑惑我们可以让演示站点强制不以 iframe 框架的形式加载内容,并且当有外部站点使用 iframe 框架引入网站内容时就强制转跳到真是的源地址。

function break_out_of_frames() {
    if (!is_preview()) {
        echo "
<script type="text/javascript">";
        echo "
<!--";
        echo "
if (parent.frames.length > 0) { parent.location.href = location.href; }";
        echo "
-->";
        echo "
</script>

";
    }
}
add_action('wp_head', 'break_out_of_frames');

将以上代码加入到当前主题的 functions.php 文件即可。 (PS:此段代码是挂载到 wp_head() 钩子的,请确保你使用的主题是包含 wp_head() 钩子否则代码会失效!)