endwin

Přehled odpovědí

Aktuálně je na stránce zobrazeno 20 příspěvků - 1. až 20. (z celkem 52)
  • Autor
    Příspěvky
  • odpověď na téma: php mail #27203

    endwin
    Participant

    Formulář i odesílání jsou kodovane v utf-8.

    odpověď na téma: Náhledové obrázky v mobilním zobrazení #27187

    endwin
    Participant

    Dobrý den.
    Zkoušel jste nastavit zvlastni css pro:

    • mibilni zarizeni (generuje-li se spesl class pro… vetsinou body)
    • mensi sirky obrazovky

    pro mensi sirky obrazovky lze nastavit style:

    @media screen and (max-width: 650px) {
        .classaImgNeboJineTargetovani {
            width: 100%;
            height: auto;
        }
    }

    Jestli nevite jak na to nebo to nepomaha, tak nebude-li vam vadit uvest odkaz stranky napiste do prispevku nebo kdyztak poslete na mail ott.michal@volny.cz a kouknu jak je to ostylovane a zkusim najit neco co by mohlo pomoct.

    odpověď na téma: Zobrazení webu – problém #27060

    endwin
    Participant

    K naruseni responzivity pravdepodobne doslo pevnym nastavenim nejakeho rozmeru pro desktop zobrazeni a nasledne na mobilu se tento rozmer zachova, ikdyz je sirka stranky mnohem mensi.
    Lze to vyresit pomoci css a nastavenim limitnich velikosti.
    Priklad:

    <style>
        .neco {
            width:800px;
        }
        .neco2 {
            width:850px;
        }
    @media only screen and (max-width:900px) {
        .neco {
            width:400px;
        }
        .neco2 {
            width:450px;
        }
    }
    @media only screen and (max-width:480px) {
        .neco {
            width:100px;
        }
        .neco2 {
            width:150px;
        }
    }
    </style>

    prvek s class neco bude mit do sirky 480px sirku 100px, od 480px do 900px sirku 400px a pro vetsi 800px.
    To same lze se zapisem:

    <style>
    @media only screen and (min-width:480px) {
        .neco {
            ...
        }
        .neco2 {
            ...
        }
    }
    </style>

    Nebo lze vyresit zadavanim v procentech.

    odpověď na téma: Plugin / script #27059

    endwin
    Participant

    Dobry den.
    Ja bych to asi resil tak ze bych udelal page sablonu v ktere by se nejnovejsi prispevek zobrazoval, jskem osetril rozmery, vytvoril ve wp stranku vyuzivajici danou sablonu a daval moznost vlozit stranku jako iframe.
    Pripadne bez sablony jen udelat stranku s prispevkem na blank page a jskem setrit rozmer a pozici s ohledem na konecny iframe.

    odpověď na téma: Woocommerce cena v global $woocommerce #26768

    endwin
    Participant

    Ano, spravne.:-)
    No nic se mi najit nepodarilo… nebo jsem to spatne vyhledaval… ja a moje anglictina… obcas mam problem formulovat spravny dotaz…
    Mozna je to v nejakym placenym pluginu… ty skoro vzdy preskakuju…

    odpověď na téma: Woocommerce cena v global $woocommerce #26756

    endwin
    Participant

    Woocommerce bere cenu z db… To znamena ze se musej definovat vsechny kombinace ktere chcete mit jinak cenove nez nejaky default ktery nastavite…

    Takze pri pouzivani tohohle kodu, napisete ke kazde variante primo jeji cenu a jejim nakombinovanim s dalsim vyberem vlastnosti se pricita ruzne velka cena.

    uvedu priklad.
    budu prodavat tricka.

    Latka tricka:
    –Bavlna
    –Bambus
    –PVC (no co je to jen priklad :-D )

    Velikost potisku:
    dejme tomu treba 20 variant na vybrani.

    Tak a ted misto toho abych nastavoval cenu pro vsechny mozne kombinace (3*20), udelam jen to ze do variant vlozim kazdou variantu 1x (3+20) s tim ze druhou moznost necham jako [vsechny].
    A kazde nastavim vlastni cenu.

    A zobrazena cena se mi zobrazi jako soucet cen vybrane Latky + Velikosti potisku.

    Javascript jeste pridam.:-D A tohle je jen kod pro kosik/objednavku

    odpověď na téma: Woocommerce cena v global $woocommerce #26745

    endwin
    Participant

    Tak vyreseno.:-D
    Tohle secte ceny variant a zobrazi v kosiku.
    Pro stranku produktu je zapotrebi mensi js ale ten si urcite kazdej zvladne udelat.:-)

    
    /*
     Funkce provadejici sumaci zvolenych variant 
    */
    function my_suma_cart_price( $price, $cart_item){   
               
         
        if( !empty($cart_item['variation_id']) ){                        
    
    			$_product     = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
    			$product_id   = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );
          
          $array = get_product( $product_id, true );
          
          $array = $array->get_available_variations();
          
          $variations = $cart_item['variation'] ;
                  
          
          $price=0;
          
          foreach( $array as $key => $val ){
            foreach( $variations as $var_key => $var_val ){ 
              if( $val['attributes'][$var_key]==$var_val ){
                $price+=$val['display_price'];    
              }  
            }
          }
          
        }
          
        return $price;
      
    }  
    
    /*
          Zobrazeni Sumace ceny v kosiku
    */
    add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' );
    
    function add_custom_price( $cart_object ) {
        
        // Prochazeni produktu v kosiku
        foreach ( $cart_object->cart_contents as $key => $value ) {  
         
          // Pokud ma varianty zavola funkci sumace a vrati hodnotz
          if ( !empty($value['variation_id']) ) {
              $price=$value['data']->price;
              $value['data']->price = my_suma_cart_price( $price, $value);
          }
            
        }      
      
    }
    odpověď na téma: Woocommerce cena v global $woocommerce #26738

    endwin
    Participant

    Kouam že jsem to napsal trochu nesrozumitelně… Produkt se dvema selectama jako varianty. Kazda varianta vlastni cenu. Jenze tahle sumacni cena neni v db… A do kosiku se propise variation_id jen z jednoho selectu… ne z obou…
    takze jen cena z odpovidajici produktu s variation_id… A ja v kosiku potrebuju zobrazit sumacni cenu.

    odpověď na téma: Woocommerce cena v global $woocommerce #26737

    endwin
    Participant

    Ok… celé…:-D Na stránce produktu sčítam ceny variant. Protože to wc neumožnuje. Nahradil jsem všechny příslušné hodnoty ceny ve stránce na novou hodnotu.
    Ale následně když to přidam do košíku, propíše se tam cena jen jedné varianty…
    Trochu se v tom teď hrabu a zdá se mi že by mohlo stačit nahradit pár filtrů…

    echo apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key );

    a možná i:

    echo apply_filters( 'woocommerce_cart_item_subtotal', WC()->cart->get_product_subtotal( $_product, $cart_item['quantity'] ), $cart_item, $cart_item_key );

    Jak korektně nahradim tyhle filtry?

    odpověď na téma: pridani inputu pro obrazek z galerie #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;
    
    odpověď na téma: Woocommerce a vlastni cena #26433

    endwin
    Participant

    jo a tady je kdyztak kod na inputy kdyby to nekdo chtel testnout…

    
     
     // Add Variation Settings
    add_action( 'woocommerce_product_after_variable_attributes', 'variation_settings_fields', 10, 3 );
    // Save Variation Settings
    add_action( 'woocommerce_save_product_variation', 'save_variation_settings_fields', 10, 1 );
    /**
     * Create new fields for variations
     *
    */
    function variation_settings_fields( $loop, $variation_data, $variation ) {
    	// Number Field
    	woocommerce_wp_text_input( 
    		array( 
    			'id'          => '_regular_price_eur[' . $variation->ID . ']', 
    			'label'       => __( 'Regular price in EUR', 'woocommerce' ), 
    			'desc_tip'    => 'true',          
          'class'       => 'short',
    			'description' => __( 'Enter regular price .', 'woocommerce' ),
    			'value'       => get_post_meta( $variation->ID, '_regular_price_eur', true ),
    			'custom_attributes' => array(
    							'step' 	=> 'any',
    							'min'	=> '0'
    						) 
    		)
    	);
    	// Number Field
    	woocommerce_wp_text_input( 
    		array( 
    			'id'          => '_sales_price_eur[' . $variation->ID . ']', 
    			'label'       => __( 'Sales price in EUR', 'woocommerce' ), 
    			'desc_tip'    => 'true',                    
          'class'       => 'short',
    			'description' => __( 'Enter the custom number here.', 'woocommerce' ),
    			'value'       => get_post_meta( $variation->ID, '_sales_price_eur', true ),
    			'custom_attributes' => array(
    							'step' 	=> 'any',
    							'min'	=> '0'
    						) 
    		)
    	);
    }
    /**
     * Save new fields for variations
     *
    */
    function save_variation_settings_fields( $post_id ) {
    	// Number Field
    	$number_field = $_POST['_regular_price_eur'][ $post_id ];
    	if( ! empty( $number_field ) ) {
    		update_post_meta( $post_id, '_regular_price_eur', esc_attr( $number_field ) );
    	}
    	
    	// Number Field
    	$number_field = $_POST['_sales_price_eur'][ $post_id ];
    	if( ! empty( $number_field ) ) {
    		update_post_meta( $post_id, '_sales_price_eur', esc_attr( $number_field ) );
    	}
    } 
    
           
    /**
     * Create new fields for single
     *
    */ 
    add_action( 'woocommerce_product_options_pricing', 'single_settings_fields' ); 
    // Save Variation Settings
    add_action( 'woocommerce_process_product_meta_simple', 'save_single_settings_fields', 10, 1 );
    
    function single_settings_fields( $product ) {
    	// Number Field
    	woocommerce_wp_text_input( 
    		array(    
    			'id'          => '_regular_price_eur', 
          'class'       => 'short',
    			'label'       => __( 'Regular price in EUR', 'woocommerce' ), 
    			'desc_tip'    => 'true',
    			'description' => __( 'Enter regular price .', 'woocommerce' ), 
    			'value'       => get_post_meta( $_REQUEST['post'], '_regular_price_eur', true ),
    			'custom_attributes' => array(
    							'step' 	=> 'any',
    							'min'	=> '0'
    						) 
    		)
    	);
    	// Number Field
    	woocommerce_wp_text_input( 
    		array( 
    			'id'          => '_sales_price_eur', 
          'class'       => 'short',
    			'label'       => __( 'Sales price in EUR', 'woocommerce' ), 
    			'desc_tip'    => 'true',
    			'description' => __( 'Enter the custom number here.', 'woocommerce' ),
    			'value'       => get_post_meta( $_REQUEST['post'], '_sales_price_eur', true ),
    			'custom_attributes' => array(
    							'step' 	=> 'any',
    							'min'	=> '0'
    						) 
    		)
    	);
    }
    /**
     * Save new fields for single
     *
    */ 
    function save_single_settings_fields( $product_id ) {
    	// Number Field
    	$number_field = $_POST['_regular_price_eur'];
    	if( ! empty( $number_field ) ) {
    		update_post_meta( $product_id, '_regular_price_eur', esc_attr( $number_field ) );
    	}
    	
    	// Number Field
    	$number_field = $_POST['_sales_price_eur'];
    	if( ! empty( $number_field ) ) {
    		update_post_meta( $product_id, '_sales_price_eur', esc_attr( $number_field ) );
    	}
    } 
    
    odpověď na téma: post id do proměnné #26268

    endwin
    Participant

    jestli je to na strance produktu, tak by melo fungovat:

    <?php
    $id_orez = substr($product->id, 0, 1);
    ?>

    $product->id je volani id z globalni promenne.
    a substr(… , 0, 1) vypise cast retezce od 0teho znaku po 1.

    odpověď na téma: post id do proměnné #26267

    endwin
    Participant

    A kde to potrebujete provest? na strance detailu produktu?

    odpověď na téma: Responzivní wordpress galerie #26207

    endwin
    Participant

    Dobrý den.
    Jen aby jste si kdyžtak nemyslel že to nikdo nečetl…
    Osobně jedu přez css a měnim počet obrázků v jedné řádce…

    
    @media (max-width: 600px) {
      ...
    }
    

    A co mysíte tím “Bohužel nefunguje to na 100%.” ?
    Mohl by jste uvést nějaký konkrétní příklad?

    odpověď na téma: Woocommerce simulace vyberu selectu #26153

    endwin
    Participant

    Tak jsem si napsal vlastni js….
    volam ho pomoci js pote, co zmenim hodnoty v orig selectech…

      function vypis_dat(){
          var variation = $('.variations_form').data('product_variations');
          $('.variations_form').find('select').each(function(){ 
            idecko = 'attribute_'+$(this).attr('id'); 
            for(i=0;i<variation.length;i++){
              if(variation[i]['attributes'][idecko]==$(this).val()){
                if(variation[i]['variation_is_visible']){
                  if(variation[i]['price_html']){
                    $('.single_variation').children('.price').html(variation[i]['price_html']);/*update ceny je-li definovana*/
                  }              
                  if(variation[i]['availability_html']){
                    $('.single_variation').html(variation[i]['availability_html']);/*update poctu kusu na sklade je-li definovana*/
                  }              
                  if(variation[i]['variation_id']){
                    $('.variation_id').attr('value', variation[i]['variation_id'] );/*update hidden inputu kuli kosiku*/
                  }  
                }
              }   
            } 
            $('.single_variation_wrap').css('display', 'block');
          });  
      }
    odpověď na téma: Fotogalerie umístěna na jiné webové adrese #26150

    endwin
    Participant

    Lze vlozit napriklad uzasnym starym tagem <iframe src='url'></iframe>
    A jen si to ostylovat.
    Jen jde o to aby na to bylo mysleno pri tvorbe te galerie na jine strance a trochu dle toho pripadne prizpusobit css… mozna nejaky ten javascriptik.

    odpověď na téma: Výběr obrázku podle title #26083

    endwin
    Participant

    Proste jsem to potreboval.:-D
    Nj… za to se omlouvam… je to vysec z kodu a tohle mi nejak uteklo…

    odpověď na téma: Výběr obrázku podle title #26080

    endwin
    Participant

    :-D ano…
    kdyztak postuji muj php kod…

    /* Přímé vyhledání dle názvu v proměnné $media */
    $args = array( 'post_type' => 'attachment', 'orderby' => 'menu_order', 'order' => 'ASC' , 'name' => $media );
    $attachments = get_posts($args);
    /* END přímé vyhledání dle názvu v proměnné $media */
    
    /* vyhledávání dalších verzí se stejným názvem a WP proto přejmenovanými na nazev-cislo !!!nenačte li se první, projde name-0 až name-10!!! */    
    $i=0;
    while((!$attachments)&($i<10)){
      $med = $media.'-'.$i;  
      $args = array( 'post_type' => 'attachment', 'orderby' => 'menu_order', 'order' => 'ASC' , 'name' => $med );
      $attachments = get_posts($args);
      $i++;               
    }            
    if ($attachments) {
      foreach ( $attachments as $attachment ) {
        $image_title = $attachment->post_title;
        $image_guid = $attachment->guid;  
        $image_type = $attachment->post_mime_type;
        /* END vyhledávání dalších verzí se stejným názvem, nenačte li se první, a WP proto přejmenovanými na nazev-cislo */
    odpověď na téma: Výběr obrázku podle title #26068

    endwin
    Participant

    :-D Cha!
    Děkuji. :-D
    Já jsem nejdřív psal pro title pak jsem to přepsal na name protože jsem si říkal že by mohli dělat nepořádek mezery v title a name bude vhodnejší.:-)
    Protože si to posílam jako $_REQUEST proměnnou.
    Každopádně již sort by name funguje.
    Děkuji. :-)

    odpověď na téma: Problém: Priorita kategorií v URL #26063

    endwin
    Participant

    Bohužel nejsem, ale děkuji.:-D
    Hlavně že to funguje.:-)

Aktuálně je na stránce zobrazeno 20 příspěvků - 1. až 20. (z celkem 52)

WordPress – novinky, návody a zajímavosti