是入口文件index.php包含的,但是这个文件没有定义这个变量。
我在网上查到了这个是避免2次执行的意思。
但是不理解,变量在PHP里如何被执行。一般来说,我刷新一下页面,那个变量不就要赋一次值了么?也就是说,这个页面每刷新一次 if要重新执行一次,这次执行的时候变量应该是没定义的吧?

解决方案 »

  1.   

    这段代码的意思是:如果变量 isset($wp_did_header 不存在,则执行一次 wp();(应该是初始化系统)
    这就表示 wp_blog_header.php 这个文件可能会被多次包含
    但从文件的名字上看,这个文件应该只会被包含一次,当然这只是从一般项目体系结构角度上看的考虑到 wordpress 是通过插件来进行二次开发的,就不难理解了
    你可以在 wordpress 挂载多个插件,甚至可以用自己的插件替换系统原有的插件
    并且各个插件的执行顺序并不是预先约定的
    所以需要在每个插件的入口程序中都包含 wp_blog_header.php 这个文件
    这个程序结构就保证了 wp 只执行一次