add_menu_page нужна помощь, как это должно работать - PullRequest
0 голосов
/ 11 апреля 2019

Еще неделю назад, когда я занимался созданием своих собственных плагинов, я хотел создать страницу настроек для этого плагина. После использования некоторых примеров, которые должны работать на WordPress, я не добился большого успеха. Подстраница работает просто отлично, но я хочу, чтобы это было меню верхнего уровня, единственная причина, по которой я могу подумать, почему это не работает, из-за некоторых проблем с правами доступа? (случилось раньше).

Так что, если бы кто-то мог мне помочь с этим, было бы неплохо. Заранее спасибо

Я не уверен, могу ли я ссылаться на другие сайты / источники, но здесь я иду

Ссылка ниже содержит рабочий пример подстраницы. https://wisdmlabs.com/blog/create-settings-options-page-for-wordpress-plugin/

Что касается другого примера, с которым я работаю, он должен работать просто отлично, это https://wpshout.com/wordpress-options-page/

<?php


add_action( 'admin_menu' , 'Counter_Opties_pagina_aanmaken');

function Counter_Opties_pagina_aanmaken(){
    $page_title = 'Counter';
    $menu_title = 'Counter Opties';
    $capability = 'edit_posts';
    $menu_slug  = 'Counter_pagina';
    $function   = 'Counter_pagina_inhoud';


    add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function );

}

function Counter_pagina_inhoud(){

    include 'Counter-Opties-file.php';

    }

Это должно сгенерировать хотя бы «Counter Opties» на боковой панели бэкэнда WordPress.

1 Ответ

2 голосов
/ 11 апреля 2019

Итак, я вижу проблему в следующем:

  • Пуля не алфавитно-цифровая или строчная

Функция ДОЛЖНА быть расположена в корне плагина в вашем файле инициатора, имя которого должно совпадать с именем вашей папки плагина. Подробнее здесь .

Примечания:

  • Я бы использовал manage_options над edit_pages для возможности
  • Я бы использовал require_once вместо include

Более подробную информацию о функции страницы меню можно найти здесь .

add_action( 'admin_menu' , 'Counter_Opties_pagina_aanmaken');

function Counter_Opties_pagina_aanmaken(){
    $page_title = 'Counter';
    $menu_title = 'Counter Opties';
    $capability = 'manage_options';
    $menu_slug  = 'counter-opties-file.php';
    $function   = 'Counter_pagina_inhoud';

    add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function );
}

function Counter_pagina_inhoud(){
    require_once plugin_dir_path( __FILE__ ) . 'counter-opties-file.php';
}

As you can see it's added it succesfully

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