2017-05-10 52 views
0

我是PHP的新手,我通過搞亂WordPress的hooks和whatnot來教導自己,所以不要嘲笑我的嘗試。我正在製作一個插件,在插件目錄中的每個頁面上加載一個JS和CSS文件。PHP/WordPress - 包含來自外部文件的HTML?

到目前爲止,該部分工作正常,但接下來的事情是從插件文件夾中的文件加載一些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

如果這是一個PHP文件,爲什麼添加了.html擴展名?爲什麼不直接在'adsense_unblock_divs()'中添加該HTML字符串? – brasofilo

+0

你知道嗎,我其實只是想通了 - 我很笨 – Joel

回答

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