Wordpress插件开发FAQ

Posted by 妖刀 15 June, 2007
  1. 如何添加插件的option页面:

    function your_function_name_here() {
    if (function_exists('add_options_page')) {
    add_options_page('subpaneltitle', 'submenuitemname',
    minuserlevel, basename(__FILE__), 'my_options_subpanel');
    }
    }
    add_action('admin_menu', 'your_function_name_here');
  2. 添加子菜单:

    function mycategoryorder_menu()
    {
    if (function_exists('add_submenu_page')) {
    add_submenu_page("edit.php", 'My Category Order', 'My Category Order',
    2,"mycategoryorder",'mycategoryorder');
    }
    }
    add_action('admin_menu', 'mycategoryorder_menu');

    或(添加顶层菜单)

    function fm_post_add_options() {
    add_menu_page('FileManager', 'FileManager', 8, '../wp-admin/fm.php');
    }
    add_action('admin_menu', 'fm_post_add_options');
  3. 选项处理函数:
    往数据库中添加选项:

    add_option($name, $value, $description, $autoload);

    获取选项值:

    get_option($option);

    更新选项值:

    update_option($option_name, $newvalue);
  4. option处理的一般步骤是什么样的:

    add_option('ddle_header', '

    Latest Post From Each Category

    ');
    ...
    function ddle_add_option_pages() {
    if (function_exists('add_options_page')) {
    add_options_page('Latest From Each Category', 'DDLatestFromEach', 8,
    __FILE__, 'ddle_options_page');
    }
    }
    function ddle_options_page() {
    if (isset($_POST['info_update'])) {
    ?>

    update_option('ddle_header', (string) $_POST["ddle_header"]);
    echo "Configuration Updated!";
    ?>

    } ?>
    ...

    ">

    ...
    }
    add_action('admin_menu', 'ddle_add_option_pages');
  5. 如何实现<!--xxx-->这样的内置标签功能:

    function ddle_generate($content) {
    $content = str_replace("", dd_last_from_each(), $content);
    return $content;
    }
    add_filter('the_content', 'ddle_generate');
  6. 如何往页面内加入JavaScript或者CSS?

    add_action('admin_head', array(&$wp_cats, 'header_inserts'));

    class wp_cats {
    function header_inserts() {
    global $parent_file;

    if ('edit.php' == $parent_file) {
    echo '' . "\n";
    echo '' . "\n";
    echo ' ';
    }
    }
    }

Categories : 技术 / 设计 Tags :

Comments

No comments yet.


Leave a comment

(required)

(required)