Как создать админ-панель в WordPress - PullRequest
2 голосов
/ 06 февраля 2012

Я очень новичок в написании плагинов для WordPress.

Я смотрю на написание плагина, в котором пользователь может загрузить изображение, и к изображению применяется определенный стиль (закодированный в конце). Тогда я бы позволил пользователю использовать короткий код для ввода изображения.

(приведенное выше является лишь примером того, что мне нужно сделать ... это немного сложнее, чем это, но я уверен, что смогу закодировать его, как только начну)

Итак, шорткод, который я могу сделать.

Во-первых, как мне создать админ-панель, которая может загружать изображение и сохранять его в базе данных.

когда пользователь будет загружать изображение, предыдущее изображение будет перезаписано.

Если у кого-то есть ссылка на хороший учебник по созданию админ-панелей, это было бы замечательно. те, что там просто не работают для меня.

Ответы [ 3 ]

12 голосов
/ 07 февраля 2012

Это еще одно хорошее место для начала: http://codex.wordpress.org/Writing_a_Plugin

Этот код должен помочь вам:

yourPlugin.php

<?php
/*
Plugin Name: Name Of The Plugin
Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates
Description: A brief description of the Plugin.
Version: The Plugin's Version Number, e.g.: 1.0
Author: Name Of The Plugin Author
Author URI: http://URI_Of_The_Plugin_Author
License: A "Slug" license name e.g. GPL2
*/

/*  Copyright YEAR  PLUGIN_AUTHOR_NAME  (email : PLUGIN AUTHOR EMAIL)

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License, version 2, as 
    published by the Free Software Foundation.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/

$object = new YourPlugin();

//add a hook into the admin header to check if the user has agreed to the terms and conditions.
add_action('admin_head',  array($object, 'adminHeader'));

//add footer code
add_action( 'admin_footer',  array($object, 'adminFooter'));

// Hook for adding admin menus
add_action('admin_menu',  array($object, 'addMenu'));

//This will create [yourshortcode] shortcode
add_shortcode('yourshortcode', array($object, 'shortcode'));

class YourPlugin{

    /**
     * This will create a menu item under the option menu
     * @see http://codex.wordpress.org/Function_Reference/add_options_page
     */
    public function addMenu(){
        add_options_page('Your Plugin Options', 'Your Plugin', 'manage_options', 'my-unique-identifier', array($this, 'optionPage'));
    }

    /**
     * This is where you add all the html and php for your option page
     * @see http://codex.wordpress.org/Function_Reference/add_options_page
     */
    public function optionPage(){
        echo "add your option page html here or include another php file";
    }

    /**
     * this is where you add the code that will be returned wherever you put your shortcode
     * @see http://codex.wordpress.org/Shortcode_API
     */
    public function shortcode(){
        return "add your image and html here...";
    }
}
?>

Добавьте этот код в файл yourPlugin.php и поместите его в каталог плагинов. Например, plugins/yourPlugin/yourPlugin.php

2 голосов
/ 24 февраля 2012

Добавление чего-то вроде следующего в ваш плагин должно помочь вам начать

/*****Options Page Initialization*****/
// if an admin is loading the admin menu then call the admin actions function
if(is_admin()) add_action('admin_menu', 'my_options');
// actions to perform when the admin menu is loaded
function my_options(){add_options_page("My Options", "My Options", "edit_pages", "my-options", "my_admin");}
// function called when "My Options" is selected from the admin menu
function my_admin(){include('admin-options.php');}

Затем вы создадите файл с именем admin-options.php с презентацией и функциональностью страницы администратора.Попробуйте «Hello World» в этом файле, просто чтобы увидеть его появление.

Этот код подробно объясняется в Кодексе WordPress http://codex.wordpress.org/Adding_Administration_Menus, который также даст вам несколько примеров того, как правильно построитьиз вашей страницы стандартным способом.

0 голосов
/ 07 февраля 2012
...