我是 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 页面的正文内容中?