Úvodní stránka › Fórum podpory WordPressu › Šablony, CSS (zobrazení webu) › pridani inputu pro obrazek z galerie
Štítky: custom gallery input
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.
-
AutorPříspěvky
-
24. února 2016 (17:38) #26707
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.24. února 2016 (21:54) #26713Urč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…
25. února 2016 (13:43) #26721Potreboval 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;
-
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.