PHP / WordPress - 从外部文件中包含HTML?

时间:2017-05-10 19:20:07

标签: php html wordpress wordpress-hook

我是PHP的新手,我正在通过乱搞WordPress钩子和诸如此类的东西来教自己,所以请不要取笑我的尝试。我正在制作一个插件,在插件目录中的每个页面上加载JS和CSS文件。

到目前为止,该部分工作正常,但接下来是将一些HTML div加载到插件文件夹中的文件的每个页面上。我无法弄清楚如何成功地做到这一点,有很多警告和失败。

到目前为止,这是插件代码:

<?php
   /*
        my plugin info
   */

function adsense_unblock_divs() {
    $asubHTML = file_get_contents(plugins_url('/html/php.html',__FILE__ ));
    include_once('$asubHTML');
}
add_action('wp_footer', 'adsense_unblock_divs');


   function adsense_unblock() {
wp_register_style('adunblock_CSS', plugins_url('/css/adunblock.css',__FILE__ ));
wp_enqueue_style('adunblock_CSS');
wp_register_script( 'adunblock_JS', plugins_url('/js/adunblock.js',__FILE__ ), array('jquery'));
wp_enqueue_script('adunblock_JS');
}
    add_action('wp_enqueue_scripts', "adsense_unblock");


    /* Settings Page */

add_action( 'admin_menu', 'adsense_unblock_menu' );

function adsense_unblock_menu() {
    add_options_page( 'AdSense Unblocker Settings', 'AdSense Unblocker', 'manage_options', 'ADSU-123', 'adsense_unblock_options' );
}

function adsense_unblock_options() {
    if ( !current_user_can( 'manage_options' ) )  {
        wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
    }
    echo include_once('adsense_unblock_settings.php');
}

?>

除了第一个功能外,一切正常:

function adsense_unblock_divs() {
    $asubHTML = file_get_contents(plugins_url('/html/php.html',__FILE__ ));
    include_once('$asubHTML');
}
add_action('wp_footer', 'adsense_unblock_divs');

这让我完全没有加载页面(500或300错误,我不记得究竟是哪个)。我尝试过只做一个简单的包含就像这样:

function adsense_unblock_divs() {
    include('/html/HTML.php');
}
add_action('wp_footer', 'adsense_unblock_divs');

但是这给了我一个警告错误,该文件在该目录中不存在。

PHP文件的内容就是这样:

<?php
echo    '<section class="asub00" style="display:none;">
    <div class="asub00_msgWin" style="display:none;"></div>
    </section>'
?>

我需要将HTML放在单独的文件中,以便通过设置页面进行编辑。我确定我在这里犯了一个愚蠢的错误,但我还是无法弄明白。如何通过插件将PHP文件中的某些div包含到wordpress页面的正文内容中?

1 个答案:

答案 0 :(得分:0)

function adsense_unblock_divs() {
    $asubHTML = file_get_contents(plugins_url('/html/HTML.php',__FILE__ ));
    echo $asubHTML;
}
add_action('wp_footer', 'adsense_unblock_divs');