Плагин Wordpress HTML Bootstrap + PHP - PullRequest
1 голос
/ 17 июня 2020

Я создаю свой первый плагин для wordpress, чтобы отображать некоторые данные панели управления на странице wp-admin, однако при редактировании плагина повторно изменяется только мой код php, любой код html, который я пишу, опускается.

Я хочу сделать свой плагин, используя HTML + bootstrap для Front-end, но сделаю некоторые вычисления, используя PHP, но я не понимаю, как я могу это сделать.

В моей первой попытке я мог только эхо html код:

<?php
add_action( 'admin_menu', 'test_plugin_setup_menu' );

function test_plugin_setup_menu(){
    add_menu_page( 'Page Title', 'Menu title', 'manage_options', 'test-plugin', 'test_init' );
}

function test_init(){
    echo "<h1> Hello World! </h1>"; 
}
?>/*THIS OUTPUT ON MY WP ADMIN PAGE AS EXPECTED WITH A HELLO WORLD

Однако мне нужно написать много кода HTML с Bootstrap и использовать только PHP в некоторых областях, но в любых HTML код, который я пишу после моего "?>", не отображается на странице.

Второй подход: я сослался на свой HTML файл с PHP

<?php
add_action( 'admin_menu', 'test_plugin_setup_menu' );

function test_plugin_setup_menu(){
    add_menu_page( 'Page Title', 'Menu title', 'manage_options', 'test-plugin', 'test_init' );
}
function test_init(){
    $file = file_get_contents('index.html', FILE_USE_INCLUDE_PATH);
    if($file == false)
    {
        echo 'file not found';
    }
    else
    {
        echo $file;
    }
}
?>

Эта последняя попытка действительно показала весь мой HTML логин с моим bootstrap, идеально оформленным на странице wp-admin, но я не могу использовать PHP logi c или необходимые мне функции БД на этом HTML файл ..

, поэтому мой вопрос в том, как я могу использовать мой код HTMl в моем PHP плагине одновременно ??

* 1 021 * Дополнительная информация: Я новичок в PHP и Wordpress, поэтому я не знаю, что я делаю не так в своем коде, поэтому теги HTML не могут отображаться на странице, если я не сослался на них во внешний файл.

Любая помощь приветствуется.

1 Ответ

1 голос
/ 17 июня 2020

Другой альтернативой может быть include ваш php файл. Вот идея:

add_action( 'admin_menu', 'test_plugin_setup_menu' );

function test_plugin_setup_menu() {
    add_menu_page( 'Page Title', 'Menu title', 'manage_options', 'test-plugin', 'test_init' );
}

function test_init() {
    ob_start();
    include_once 'file-that-i-want-to-include.php';
    echo ob_get_clean();
}

Тогда конечно в вашем file-that-i-want-to-include.php. Просто создайте свою страницу, как обычно:

<?php

include_once 'mydatabaseconnction.php';

// ... and so on php codes of sorts

?>

<div class="container">
    <div class="row">
        <div class="col">
            my contents whatever
        </div>
    </div>
</div>

Кроме того, вы можете просто загрузить bootstrap в эту c страницу настроек администратора, если хотите:

add_action('admin_enqueue_scripts', function() {

    if (get_current_screen()->id === 'toplevel_page_test-plugin') { // the prefix is "toplevel_page_"
        $css_path = plugins_url('assets/vendor/bootstrap/bootstrap.min.css'); // just change the path going to your css and js
        $js_path = plugins_url('assets/vendor/bootstrap/bootstrap.min.js');
        wp_enqueue_style('latest-bootstrap-css', $css_path, [], '4.5.0');
        wp_enqueue_script('latest-bootstrap-js', $js_path, [], '4.5.0');
    }

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...