
23-01-2024, 12:36:38
|
 | | | Üyelik Tarihi: 05-08-2014 Bulunduğu yer: Başakşehir
Mesajlar: 2.144
| |
Alıntı: Anestezy Nickli Üyeden Alıntı
Elinize sağlık bende şöyle amatörce sağdan soldan bulduğum kodlar ile bazı geliştirmeler yapmıştım paylaşmak istedim belki işine yarayan olur :
Ödeme sayfasında şirket adı ve vergi numarası ekleyerek admin panelinde sipariş detaylarında belirgin hale getirerek kendi anlayacağım gibi basit bir hale getirmiştim daha doğrusu muhasebede çalışan ekip arkadaşımız için en basit hale getirmek istemiştim : Kod: add_action( 'woocommerce_admin_order_data_after_billing_address', 'kurumsal_fatura_meta_box' );
function kurumsal_fatura_meta_box( $order ){
echo '
<b><font color="red">KURUMSAL FATURA! ( BOŞ İSE BİREYSEL! ) </font></b>
   
';
echo '
<p><font color="red"><b>Şirket Adı:</b></font> ' . get_post_meta( $order->get_id(), '_kurumsal_fatura_sirketi', true ) . '
 
';
echo '
<font color="red"><b>Vergi Numarası:</b></font> ' . get_post_meta( $order->get_id(), '_kurumsal_fatura_vergi_numarasi', true ) . '
';
}
add_action( 'woocommerce_checkout_create_order', 'save_kurumsal_fatura_fields', 20, 2 );
function save_kurumsal_fatura_fields( $order, $data ){
if( isset( $_POST['_kurumsal_fatura_sirketi'] ) ) {
$order->update_meta_data( '_kurumsal_fatura_sirketi', sanitize_text_field( $_POST['_kurumsal_fatura_sirketi'] ) );
}
if( isset( $_POST['_kurumsal_fatura_vergi_numarası'] ) ) {
$order->update_meta_data( '_kurumsal_fatura_vergi_numarasi', sanitize_text_field( $_POST['_kurumsal_fatura_vergi_numarasi'] ) );
}
}
add_action( 'woocommerce_after_checkout_billing_form', 'kurumsal_fatura_fields' );
function kurumsal_fatura_fields( $checkout ) {
echo '
' . __('Kurumsal Fatura Bilgileri') . '
';
woocommerce_form_field( '_kurumsal_fatura_sirketi', array(
'type' => 'text',
'class' => array('kurumsal-fatura-sirketi form-row-wide'),
'label' => __('Fatura Şirketi'),
'placeholder' => __('Fatura Şirketi'),
), $checkout->get_value( '_kurumsal_fatura_sirketi' ));
woocommerce_form_field( '_kurumsal_fatura_vergi_numarasi', array(
'type' => 'text',
'class' => array('kurumsal-fatura-vergi-numarasi form-row-wide'),
'label' => __('Vergi Numarası'),
'placeholder' => __('Vergi Numarası'),
), $checkout->get_value( '_kurumsal_fatura_vergi_numarasi' ));
echo '
';
} Burada ise siparişlerim sayfasında müşterinin aldığı ürünleri adetleri ve görselleri küçük görsel ile panelde tek tek sipariş detaylarına girmeye gerek kalmadan gösteren hale getirmek amaçlı oluşturdum : Kod: add_action('manage_shop_order_posts_custom_column', 'orders_list_preview_items', 20, 2 );
function orders_list_preview_items($column, $post_id) {
global $the_order, $post;
if ('order_status' === $column) {
// Start list
echo '<ul class="orders-list-items-preview">';
// Loop through order items
foreach($the_order->get_items() as $item) {
$product = $item->get_product();
$img = wp_get_attachment_url($product->get_image_id());
$name = $item->get_name();
$qty = $item->get_quantity();
echo "<li>
<img src=\"$img\" />
<label>$qty</label> $name
</li>";
}
// End list
echo '</ul>';
}
}
add_action('admin_head', 'orders_list_preview_css');
function orders_list_preview_css() {
echo "<style>
.orders-list-items-preview {
background-color: #eee;
padding: 8px 8px 0 5px;
border-radius: 4px;
}
.orders-list-items-preview li {
padding-left: 55px;
position: relative;
padding-bottom: 10px;
padding-right: 40px;
padding-top: 0;
font-size: 10px;
line-height: 11px;
min-height: 30px;
}
.orders-list-items-preview li label {
border: 1px solid gray;
width: 25px;
display: block;
text-align: center;
border-radius: 4px;
right: 5px;
top: 0px;
position: absolute;
font-size: 12px;
font-weight: bold;
padding: 5px 0;
}
.orders-list-items-preview img {
margin: 1px 2px;
position: absolute;
left: 0;
top: 0;
height: 40px;
max-height: 40px !important;
}
</style>";
} | teşekkürler 2. özellıkle işlevsellik açısından cok iyi siteme ekledım. |