Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Wordpress plugin- ne mogu da uploadujem sliku u admin panel (za početak)

[es] :: Web aplikacije :: Wordpress plugin- ne mogu da uploadujem sliku u admin panel (za početak)

[ Pregleda: 1969 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

drmilun9
Dragan Milunović

Član broj: 303475
Poruke: 99
*.teol.net.



+1 Profil

icon Wordpress plugin- ne mogu da uploadujem sliku u admin panel (za početak)18.11.2014. u 16:25 - pre 113 meseci
Pozdrav svima,

Mučim se sa ovim ( za nekoga jednostavnim zadatkom :) ) skoro dva dana.....

Cilj mi je da napravim plugin koji će moći da uploaduje sliku u admin panel a kasnije i na front end...

Polje za unos teksta radi i tu tekst koji upišem kad kliknem na save button ostaje upisan, ali problem je sa uploadovanjem image (logo) koje neće da se sačuva ni u bazi a kamoli da se pojavi na admin panelu....

Evo i koda:



Code:
class DM_options{ 

    public $options;

    public function __construct(){

        $this->options=get_option('mynewplugin_settings_group');

    }


    public function mynewplugin_settings_menu() {

        add_options_page(
        /*1*/   'My Plugin Settings',
        /*2*/   'My Plugin',
        /*3*/   'manage_options',
        /*4*/   'mynewplugin_settings',
        /*5*/   array($this,'mynewplugin_settings_page')
        );

    }


    /** Settings Page Content **/

    public function mynewplugin_settings_page() {

        ?>

        <div class="wrap">


            <h2>My Plugin</h2>
            <p>Some text describing what the plugin settings do.</p>

            <form method="post" action="options.php" enctype="multipart/form-data">
                <?php

                // Output the settings sections.
                do_settings_sections( 'mynewplugin_settings' );

                // Output the hidden fields, nonce, etc.
                settings_fields( 'mynewplugin_settings_group' );

                // Submit button.
                submit_button();

                ?>
            </form>
        </div>

        <?php
    }

    /** Settings Initialization **/

    public function mynewplugin_settings_init() {


         /** Setting section 1. **/
        add_settings_section(
        /*1*/   'mynewplugin_settings_section_1',
        /*2*/   'Section 1',
        /*3*/   array($this,'mynewplugin_settings_section_1_callback'),
        /*4*/   'mynewplugin_settings'
        );

        // Field 1.
        add_settings_field(
        /*1*/   'mynewplugin_field_1',
        /*2*/   'Field 1',
        /*3*/   array($this,'mynewplugin_field_1_input'),
        /*4*/   'mynewplugin_settings',
        /*5*/   'mynewplugin_settings_section_1'
        );

        // Register this field with our settings group.
        register_setting( 'mynewplugin_settings_group', 'mynewplugin_field_1' ); 



        /** Section 2 **/

        add_settings_section(
        /*1*/   'mynewplugin_settings_section_logo',
        /*2*/   'Section logo',
        /*3*/   array($this,'mynewplugin_settings_section_logo_callback'),
        /*4*/   'mynewplugin_settings'
        );



        // Field 2. 

        add_settings_field(
        /*1*/   'mynewplugin_field_logo',
        /*2*/   'Field logo',
        /*3*/   array($this,'mynewplugin_field_logo_input'),
        /*4*/   'mynewplugin_settings',
        /*5*/   'mynewplugin_settings_section_logo'
        );

        //Register this field with our settings group and calback function
        register_setting( 'mynewplugin_settings_group', 'mynewplugin_field_logo',array($this,"dm_validate_settings"));



    }


    public function mynewplugin_settings_section_1_callback() {

        echo( 'Some info about this section.' );
    }



    public function mynewplugin_settings_section_logo_callback() {

        echo( 'We should see a picture nearly .' );
    }



    public function dm_validate_settings ($plugin_options){


        if(!empty($FILES['mynewplugin_field_logo_upload']["tmp_name"])){

          $override= array("test_form" => false);
           $file= wp_handle_upload($FILES["mynewplugin_field_logo_upload"],$override);
        $plugin_options["mynewplugin_field_logo"]=$file["url"];

        }else{
            $plugin_options["mynewplugin_field_logo"]= $this->options["mynewplugin_field_logo"];
        }
        return $plugin_options;
    } 



     /** Field 1 Input **/

    function mynewplugin_field_1_input() {

        echo( '<input type="text" name="mynewplugin_field_1" id="mynewplugin_field_1" value="'. get_option( 'mynewplugin_field_1' ) .'" />' );
    }




     /** Field 2 Input **/

    public function mynewplugin_field_logo_input() {


        echo( '<input type="file" name="mynewplugin_field_logo_upload">');

        if(isset($this->options['mynewplugin_field_logo'] )) { 

            echo  "<img src='{$this->options['mynewplugin_field_logo']}'>";
        }

    }
}



add_action( 'admin_menu',function(){ 

    $lets = new DM_options();

    $lets->mynewplugin_settings_menu();

});



add_action( 'admin_init',function(){ 

    $lets2 =  new DM_options();

    $lets2->mynewplugin_settings_init();

});



Hvla unaprijed na pomoći...:)
 
Odgovor na temu

[es] :: Web aplikacije :: Wordpress plugin- ne mogu da uploadujem sliku u admin panel (za početak)

[ Pregleda: 1969 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.