pridani inputu pro obrazek z galerie

Úvodní stránka Fórum podpory WordPressu Šablony, CSS (zobrazení webu) pridani inputu pro obrazek z galerie

Zvolené téma obsahuje celkem 2 odpovědi. Do diskuze (2 účastníci) se naposledy zapojil uživatel  endwin a poslední změna je stará 8 let, 1 měsíc.

Aktuálně jsou na stránce zobrazeny 3 příspěvky - 1. až 3. (z celkem 3)
  • Autor
    Příspěvky
  • #26707

    endwin
    Participant

    Zdravim.
    Chci se zeptat jak se da pridat do administrace input pro obrazek z galerie, ktery bude pracovat stejne jako treba nahledovy obrazek prispevku.
    Zkousel jsem hledat pomoci strycka googlu ale asi zadavam spatnou kombinaci…
    Predem dekuju za reakce.

    #26713

    admin
    Keymaster
    Web

    Určitě, hlavně jde ale o to, k čemu to bude vlastně dobré a co se tam bude ukládat (a zda to bude u každého příspěvku)? Podle toho se dají použít různé pluginy nebo i vlastní funkce…

    #26721

    endwin
    Participant

    Potreboval jsem do woocommerce pridat na pravou stranu dva inputy pro obrazky ktere se budou zobrazovat spolecne s hlavnim, jako takova mozaika na strankach s producty.
    Jinak vyreseno.:-D
    Kdyztak tady je muj kod:
    Je funkcni jen tam mozna bude neco navic…

                                                                     
    if ( ! defined( 'ABSPATH' ) ) {
    	exit; // Exit if accessed directly
    }  
    
    function custom_meta_box_markup($object)
    {
        wp_nonce_field(basename(__FILE__), "meta-box-nonce");
    
        global $post, $product;
    
        $post_id=$post->ID;
        ?>
            <div>
              <div style="padding: 10px 0;">
                <label>Malý obrázek do categorie</label>
                <div>                                                     
                  <img id="image-prew" src="<?php echo get_post_meta($post_id, "_small_obr", true); ?>" width="100px" name="" height="auto">
                </div>
                <input type="hidden" id='image-url' name='small_obr' value='<?php echo get_post_meta($post_id, "_small_obr", true); ?>'>
                <a href="#" id="upload-button" class="button">Add my media</a>  
              </div> 
    <script>
    jQuery(document).ready(function($){  
      
      $('#image-url1').attr('name', $('#typ_obr').val() );
      
      $('#typ_obr').on('change', function() {
        $('#image-url1').attr('name', $(this).val() );
      });  
    
      var mediaUploader;  
    
      $('#upload-button').click(function(e) {
        e.preventDefault();
        // If the uploader object has already been created, reopen the dialog
          if (mediaUploader) {
          mediaUploader.open();
          return;
        }
        // Extend the wp.media object
        mediaUploader = wp.media.frames.file_frame = wp.media({
          title: 'Choose Image',
          button: {
          text: 'Choose Image'
        }, multiple: false });
    
        // When a file is selected, grab the URL and set it as the text field's value
        mediaUploader.on('select', function() {
          attachment = mediaUploader.state().get('selection').first().toJSON();
          $('#image-url').val(attachment.url);   
          $('#image-prew').attr('src',attachment.url);
        });
        // Open the uploader dialog
        mediaUploader.open();
      }); 
    
    });
    </script>        
                
            </div>
        <?php  
    }
    
    function add_custom_meta_box()
    {
        add_meta_box("demo-meta-box", "Obrázky v categorii", "custom_meta_box_markup", "post", "side", "high", null);           
        add_meta_box( 'demo-meta-box', __( 'Obrázky v categorii', 'woocommerce' ), 'custom_meta_box_markup', 'product', 'side', 'low' );
    }
    
    function remove_custom_field_meta_box()
    {
        remove_meta_box("postcustom", "post", "normal");
    }
    
    add_action("do_meta_boxes", "remove_custom_field_meta_box");
    
    add_action("add_meta_boxes", "add_custom_meta_box");
    
    function save_custom_meta_box($post_id, $post, $update)
    {
        if (!isset($_POST["meta-box-nonce"]) || !wp_verify_nonce($_POST["meta-box-nonce"], basename(__FILE__)))
            return $post_id;
    
        if(!current_user_can("edit_post", $post_id))
            return $post_id;
    
        if(defined("DOING_AUTOSAVE") && DOING_AUTOSAVE)
            return $post_id;
    
        $slug = "product";
        if($slug != $post->post_type)
            return $post_id;
    
        $meta_box_text_value = "";
        $meta_box_checkbox_value = "";
    
        if(isset($_POST["small_obr"]))
        {
          $meta_box_text_value = $_POST["small_obr"];                      
          update_post_meta($post_id, "_small_obr", $meta_box_text_value);
        }                                                                                                                                  
    
    }
    
    add_action("save_post", "save_custom_meta_box", 10, 3);

    Obrazek lze nasledne volat jako:

    
              $small = '';
              if( get_post_meta($post_id, "_small_obr", true) ){                                                                                                                   
                $small = '<div class="et_shop_image pr_small height50"><img title="small" src="'.get_post_meta($post_id, "_small_obr", true).'" alt="small"><span class="et_overlay"></span></div>'; 
              } 
              echo $small;
    
Aktuálně jsou na stránce zobrazeny 3 příspěvky - 1. až 3. (z celkem 3)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti