Я новичок в 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 в отдельном файле для редактирования через страницу настроек. Я уверен, что я делаю глупую ошибку здесь, но я просто не смог понять это. Как можно включить некоторые div в файле PHP к содержанию тела WordPress страниц через плагин?
function adsense_unblock_divs() {
$asubHTML = file_get_contents(plugins_url('/html/HTML.php',__FILE__ ));
echo $asubHTML;
}
add_action('wp_footer', 'adsense_unblock_divs');
Других решений пока нет …