{"id":587,"date":"2022-06-16T10:35:46","date_gmt":"2022-06-16T08:35:46","guid":{"rendered":"https:\/\/www.areaweb.sk\/?p=587"},"modified":"2022-06-16T13:39:14","modified_gmt":"2022-06-16T11:39:14","slug":"pridanie-widgetu-na-stranku-objednavky","status":"publish","type":"post","link":"https:\/\/www.areaweb.sk\/cs\/pridanie-widgetu-na-stranku-objednavky\/","title":{"rendered":"Pridanie widgetu TAG na str\u00e1nku objedn\u00e1vky"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Pridanie widgetu TAG OBJEDN\u00c1VKY na bo\u010dn\u00fd panel na str\u00e1nke objedn\u00e1vky \/order page<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\r\n\/\/ Adding Meta container admin shop_order pages\r\nadd_action( 'add_meta_boxes', 'mv_add_meta_boxes' );\r\nif ( ! function_exists( 'mv_add_meta_boxes' ) )\r\n{\r\n    function mv_add_meta_boxes()\r\n    {\r\n        add_meta_box( 'mv_other_fields', __('TAG OBJEDN\u00c1VKY','woocommerce'), 'mv_add_other_fields_for_packaging', 'shop_order', 'side', 'core' );\r\n    }\r\n}\r\n\r\n\r\n\/\/ Adding Meta field in the meta container admin shop_order pages\r\nif ( ! function_exists( 'mv_add_other_fields_for_packaging' ) )\r\n{\r\n    function mv_add_other_fields_for_packaging()\r\n    {\r\n        global $post;\r\n\r\n        $meta_field_data = get_post_meta( $post->ID, '_moj_order_tag', true ) ? get_post_meta( $post->ID, '_moj_order_tag', true ) : '';\r\n\t\t$meta_field_data2 = get_post_meta( $post->ID, '_moj_order_tag2', true ) ? get_post_meta( $post->ID, '_moj_order_tag2', true ) : '';\r\n\r\n\t\techo '\r\n            &lt;form class=\"misc-pub-section my-options\">\r\n            &lt;input type=\"hidden\" name=\"mv_other_meta_field_nonce\" value=\"' . wp_create_nonce() . '\">\r\n                &lt;select id=\"my_order_tag\" name=\"my_order_tag_field_name\">\r\n                &lt;option value=\"\" selected disabled hidden>' . $meta_field_data . '&lt;\/option>\r\n                &lt;option style=\"background-color:pink\" value=\"\u010cak\u00e1 na odpove\u010f 1\">\u010cak\u00e1 na odpove\u010f 1&lt;\/option>\r\n                &lt;option style=\"background-color:#82CAAF\" value=\"\u010cak\u00e1 na odpove\u010f 2\">\u010cak\u00e1 na odpove\u010f 2&lt;\/option>\r\n                &lt;option style=\"background-color:#FECF6A\" value=\"Osobn\u00fd odber\">Osobn\u00fd odber&lt;\/option>\r\n                &lt;\/select>\r\n                &lt;button type=\"\" class=\"button save_order button-primary\">Odosla\u0165&lt;\/button>\r\n\t\t\t&lt;\/form>';\r\n\r\n\t\techo ' \r\n            &lt;p style=\"border-bottom:solid 1px #eee;padding-bottom:13px;\"> Pozn\u00e1mka:\r\n                &lt;input type=\"text\" style=\"width:250px;\" name=\"my_order_tag_field_name2\" placeholder=\"' . $meta_field_data2 . '\" value=\"' . $meta_field_data2 . '\">\r\n            &lt;\/p>';\r\n    }\r\n}\r\n\r\n\/\/ Save the data of the Meta field\r\nadd_action( 'save_post', 'mv_save_wc_order_other_fields', 10, 1 );\r\nif ( ! function_exists( 'mv_save_wc_order_other_fields' ) )\r\n{\r\n\r\n    function mv_save_wc_order_other_fields( $post_id ) {\r\n\r\n        \/\/ We need to verify this with the proper authorization (security stuff).\r\n\r\n        \/\/ Check if our nonce is set.\r\n        if ( ! isset( $_POST&#91; 'mv_other_meta_field_nonce' ] ) ) {\r\n            return $post_id;\r\n        }\r\n        $nonce = $_REQUEST&#91; 'mv_other_meta_field_nonce' ];\r\n\r\n        \/\/Verify that the nonce is valid.\r\n        if ( ! wp_verify_nonce( $nonce ) ) {\r\n            return $post_id;\r\n        }\r\n\r\n        \/\/ If this is an autosave, our form has not been submitted, so we don't want to do anything.\r\n        if ( defined( 'DOING_AUTOSAVE' ) &amp;&amp; DOING_AUTOSAVE ) {\r\n            return $post_id;\r\n        }\r\n\r\n        \/\/ Check the user's permissions.\r\n        if ( 'page' == $_POST&#91; 'post_type' ] ) {\r\n\r\n            if ( ! current_user_can( 'edit_page', $post_id ) ) {\r\n                return $post_id;\r\n            }\r\n        } else {\r\n\r\n            if ( ! current_user_can( 'edit_post', $post_id ) ) {\r\n                return $post_id;\r\n            }\r\n        }\r\n        \/\/ --- Its safe for us to save the data ! --- \/\/\r\n\r\n        \/\/ Sanitize user input  and update the meta field in the database.\r\n        update_post_meta( $post_id, '_moj_order_tag', $_POST&#91; 'my_order_tag_field_name' ] );\r\n\t\tupdate_post_meta( $post_id, '_moj_order_tag2', $_POST&#91; 'my_order_tag_field_name2' ] );\r\n    }\r\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Pridanie st\u013apca v  zozname objedn\u00e1vok ktor\u00fd bude zobrazova\u0165 tagy<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/\/ stlpec v objednavkach\r\n\r\n\/\/ With this filter we can register the \"header\" part\r\nadd_filter( 'manage_edit-shop_order_columns', 'add_tag_order_columns_to_orders_table', 11 );\r\n\/\/ add columns shipping_and_payment\r\nfunction add_tag_order_columns_to_orders_table($columns) {\r\n\t$columns&#91;'TAG'] = 'TAG';\r\n    return $columns;\r\n}\r\n\r\nfunction get_tag_order_columns_values($column) {\r\n    global $post;\r\n    $order_facory = new WC_Order_Factory();\r\n    $order = $order_facory->get_order( $post->ID );\r\n\r\n    if ( $column == 'TAG' ) {    \r\n    echo   get_post_meta( $post->ID, '_moj_order_tag', true ) ?  '&lt;span style=\"background-color:pink; padding:10px\">' . get_post_meta( $post->ID, '_moj_order_tag', true ) . '&lt;span>' : '';;\r\n    }\r\n}\r\nadd_action( 'manage_shop_order_posts_custom_column', 'get_tag_order_columns_values', 2 );<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Filtrovanie objedn\u00e1vok pod\u013ea tagu<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/\/\/ FILTROVANIE\r\n\r\nadd_action( 'restrict_manage_posts', 'display_admin_shop_order_language_filter' );\r\nfunction display_admin_shop_order_language_filter(){\r\n    global $pagenow, $post_type;\r\n\r\n    if( 'shop_order' === $post_type &amp;&amp; 'edit.php' === $pagenow ) {\r\n        $domain    = 'woocommerce';\r\n        $languages = array( __('Osobn\u00fd odber', $domain), __('\u010cak\u00e1 na odpove\u010f 2', $domain) );\r\n        $current   = isset($_GET&#91;'filter_tag_action'])? $_GET&#91;'filter_tag_action'] : '';\r\n\r\n        echo '&lt;select name=\"filter_tag_action\">\r\n        &lt;option value=\"\">' . __('Filtruj TAG ', $domain) . '&lt;\/option>';\r\n\r\n        foreach ( $languages as $value ) {\r\n            printf( '&lt;option value=\"%s\"%s>%s&lt;\/option>', $value, \r\n                $value === $current ? '\" selected=\"selected\"' : '', $value );\r\n        }\r\n        echo '&lt;\/select>';\r\n    }\r\n}\r\n\r\nadd_action( 'pre_get_posts', 'process_admin_shop_order_language_filter' );\r\nfunction process_admin_shop_order_language_filter( $query ) {\r\n    global $pagenow;\r\n\r\n    if ( $query->is_admin &amp;&amp; $pagenow == 'edit.php' &amp;&amp; isset( $_GET&#91;'filter_tag_action'] ) \r\n        &amp;&amp; $_GET&#91;'filter_tag_action'] != '' &amp;&amp; $_GET&#91;'post_type'] == 'shop_order' ) {\r\n\r\n        $meta_query = $query->get( 'meta_query' ); \/\/ Get the current \"meta query\"\r\n        $meta_query = array( \/\/ Add to \"meta query\"\r\n\t\t\tarray(\r\n            'key' => '_moj_order_tag',\r\n            'value'    => esc_attr( $_GET&#91;'filter_tag_action']) ,  \/\/esc_attr( $_GET&#91;'filter_tag_action'])\r\n\t\t\t)\r\n        );\r\n\t\t\r\n        $query->set( 'meta_query', $meta_query ); \/\/ Set the new \"meta query\"\r\n        $query->set( 'posts_per_page', 10 ); \/\/ Set \"posts per page\"\r\n        $query->set( 'paged', ( get_query_var('paged') ? get_query_var('paged') : 1 ) ); \/\/ Set \"paged\"\r\n    }\r\n}<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.areaweb2.pppcreative.sk\/wp-content\/uploads\/2022\/06\/tagy-objednavok2-1024x235.png\" alt=\"\" class=\"wp-image-591\" width=\"1136\" height=\"261\" srcset=\"https:\/\/www.areaweb.sk\/wp-content\/uploads\/2022\/06\/tagy-objednavok2-1024x235.png 1024w, https:\/\/www.areaweb.sk\/wp-content\/uploads\/2022\/06\/tagy-objednavok2-300x69.png 300w, https:\/\/www.areaweb.sk\/wp-content\/uploads\/2022\/06\/tagy-objednavok2-768x176.png 768w, https:\/\/www.areaweb.sk\/wp-content\/uploads\/2022\/06\/tagy-objednavok2-1536x352.png 1536w, https:\/\/www.areaweb.sk\/wp-content\/uploads\/2022\/06\/tagy-objednavok2-650x149.png 650w, https:\/\/www.areaweb.sk\/wp-content\/uploads\/2022\/06\/tagy-objednavok2.png 1800w\" sizes=\"auto, (max-width: 1136px) 100vw, 1136px\" \/><\/figure>","protected":false},"excerpt":{"rendered":"<p>Pridanie widgetu TAG OBJEDN\u00c1VKY na bo\u010dn\u00fd panel na str\u00e1nke objedn\u00e1vky \/order page \/\/ Adding Meta container admin shop_order pages add_action( &#8218;add_meta_boxes&#8216;, &#8218;mv_add_meta_boxes&#8216; ); if ( ! function_exists(\u2026<\/p>","protected":false},"author":1,"featured_media":465,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-587","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-woocomerce"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/www.areaweb.sk\/cs\/wp-json\/wp\/v2\/posts\/587","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.areaweb.sk\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.areaweb.sk\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.areaweb.sk\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.areaweb.sk\/cs\/wp-json\/wp\/v2\/comments?post=587"}],"version-history":[{"count":0,"href":"https:\/\/www.areaweb.sk\/cs\/wp-json\/wp\/v2\/posts\/587\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.areaweb.sk\/cs\/wp-json\/wp\/v2\/media\/465"}],"wp:attachment":[{"href":"https:\/\/www.areaweb.sk\/cs\/wp-json\/wp\/v2\/media?parent=587"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.areaweb.sk\/cs\/wp-json\/wp\/v2\/categories?post=587"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.areaweb.sk\/cs\/wp-json\/wp\/v2\/tags?post=587"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}