خانه / وردپرس / آموزش ووکامرس / نمایش اطلاعات بیشتر از محصولات در ووکامرس
نمایش اطلاعات بیشتر از محصولات در ووکامرس
نمایش اطلاعات بیشتر از محصولات در ووکامرس

نمایش اطلاعات بیشتر از محصولات در ووکامرس

می خواهیم شما رو در این آموزش ووکامرس با یک پلاگین کاربردی وردپرس آشنا سازیم که میتونه برای شما و فروشگاهتون خوش آیند و لازم باشد تا بتونید به نمایش اطلاعات بیشتر از محصولات در ووکامرس بپرذازید پس جهت دریافت ان و داشتن اطلاعات کافی در مورد آن با ادامه همراه ما بمانید

نمایش اطلاعات بیشتر از محصولات در ووکامرس

این افزونه وردپرس رایگان بسیار عالی بوده است به صورتی که امکان داشتن فیلدهای سفارشی رو در قسمت ویرایش محصول می دهد تا بتونید برای محصولات خودتون استفاده نمایید

جهت داشتن این ویژگی باید با دانلود افزونه woocommerce custom product data fields و فعال سازیش شروع به کار نمایید بعد این کار باید فیلدهایی رو در قسمت ویرایش محصول نمایان کنید که به کدنویسی احتیاج بوده است پس قبل هر کاری از سایت خود یک نسخه پشتیبان تهیه نمایید

بعد این کار به فایل function.php قالب وردپرس خود مراجعه نمایید و بعد <?php در ابتدای فایل فانکشن کد زیر رو  قرار دهید

/**
* WooCommerce product data tab definition
*
* @return array
*/

add_action('wc_cpdf_init', 'prefix_custom_product_data_tab_init', 10, 0);
if(!function_exists('prefix_custom_product_data_tab_init')) :

function prefix_custom_product_data_tab_init(){
$custom_product_data_fields = array();
/** First product data tab starts **/
/** ===================================== */

$custom_product_data_fields['custom_data_1'] = array(

array(
'tab_name'    =&amp;gt; __('Custom Data', 'wc_cpdf'),
),

array(
'id'          =&amp;gt; '_mytext',
'type'        =&amp;gt; 'text',
'label'       =&amp;gt; __('Text', 'wc_cpdf'),
'placeholder' =&amp;gt; __('A placeholder text goes here.', 'wc_cpdf'),
'class'       =&amp;gt; 'large',
'description' =&amp;gt; __('Field description.', 'wc_cpdf'),
'desc_tip'    =&amp;gt; true,
),

array(
'id'          =&amp;gt; '_mynumber',
'type'        =&amp;gt; 'number',
'label'       =&amp;gt; __('Number', 'wc_cpdf'),
'placeholder' =&amp;gt; __('Number.', 'wc_cpdf'),
'class'       =&amp;gt; 'short',
'description' =&amp;gt; __('Field description.', 'wc_cpdf'),
'desc_tip'    =&amp;gt; true,
),

array(
'id'          =&amp;gt; '_mytextarea',
'type'        =&amp;gt; 'textarea',
'label'       =&amp;gt; __('Textarea', 'wc_cpdf'),
'placeholder' =&amp;gt; __('A placeholder text goes here.', 'wc_cpdf'),
'style'       =&amp;gt; 'width:70%;height:140px;',
'description' =&amp;gt; __('Field description.', 'wc_cpdf'),
'desc_tip'    =&amp;gt; true,
),

array(
'id'          =&amp;gt; '_mycheckbox',
'type'        =&amp;gt; 'checkbox',
'label'       =&amp;gt; __('Checkbox', 'wc_cpdf'),
'description' =&amp;gt; __('Field description.', 'wc_cpdf'),
'desc_tip'    =&amp;gt; true,
),

array(
'id'          =&amp;gt; '_myselect',
'type'        =&amp;gt; 'select',
'label'       =&amp;gt; __('Select', 'wc_cpdf'),
'options'     =&amp;gt; array(
'option_1'  =&amp;gt; 'Option 1',
'option_2'  =&amp;gt; 'Option 2',
'option_3'  =&amp;gt; 'Option 3'
),
'description' =&amp;gt; __('Field description.', 'wc_cpdf'),
'desc_tip'    =&amp;gt; true,
),

array(
'id'          =&amp;gt; '_myradio',
'type'        =&amp;gt; 'radio',
'label'       =&amp;gt; __('Radio', 'wc_cpdf'),
'options'     =&amp;gt; array(
'radio_1' =&amp;gt; 'Radio 1',
'radio_2' =&amp;gt; 'Radio 2',
'radio_3' =&amp;gt; 'Radio 3'
),
'description' =&amp;gt; __('Field description.', 'wc_cpdf'),
'desc_tip'    =&amp;gt; true,
),

array(
'id'         =&amp;gt; '_myhidden',
'type'       =&amp;gt; 'hidden',
'value'      =&amp;gt; 'Hidden Value',
),

array(
'id'         =&amp;gt; '_mymultiselect',
'type'       =&amp;gt; 'multiselect',
'label'      =&amp;gt; __('Multiselect', 'wc_cpdf'),
'placeholder' =&amp;gt; __('Multiselect maan!', 'wc_cpdf'),
'options'     =&amp;gt; array(
'option_1' =&amp;gt; 'Option 1',
'option_2' =&amp;gt; 'Option 2',
'option_3' =&amp;gt; 'Option 3',
'option_4' =&amp;gt; 'Option 4',
'option_5' =&amp;gt; 'Option 5'
),
'description' =&amp;gt; __('Field description.', 'wc_cpdf'),
'desc_tip'    =&amp;gt; true,
'class'       =&amp;gt; 'medium'
),

// image
array(
'id'         =&amp;gt; '_myimage',
'type'       =&amp;gt; 'image',
'label'      =&amp;gt; __('Image 1', 'wc_cpdf'),
'description' =&amp;gt; __('Field description.', 'wc_cpdf'),
'desc_tip'    =&amp;gt; true,
),

array(
'id'         =&amp;gt; '_mygallery',
'type'       =&amp;gt; 'gallery',
'label'      =&amp;gt; __('Gallery', 'wc_cpdf'),
'description' =&amp;gt; __('Field description.', 'wc_cpdf'),
'desc_tip'    =&amp;gt; true,
),

// Color
array(
'id'          =&amp;gt; '_mycolor',
'type'        =&amp;gt; 'color',
'label'       =&amp;gt; __('Select color', 'wc_cpdf'),
'placeholder' =&amp;gt; __('A placeholder text goes here.', 'wc_cpdf'),
'class'       =&amp;gt; 'large',
'description' =&amp;gt; __('Field description.', 'wc_cpdf'),
'desc_tip'    =&amp;gt; true,
),

// Datepicker

array(
'id'          =&amp;gt; '_mydatepicker',
'type'        =&amp;gt; 'datepicker',
'label'       =&amp;gt; __('Select date', 'wc_cpdf'),
'placeholder' =&amp;gt; __('A placeholder text goes here.', 'wc_cpdf'),
'class'       =&amp;gt; 'large',
'description' =&amp;gt; __('Field description.', 'wc_cpdf'),
'desc_tip'    =&amp;gt; true,
),

array(
'type'        =&amp;gt; 'divider'
)

);

/** First product data tab ends **/
/** ===================================== */
/** Second product data tab starts **/
/** ===================================== */

$custom_product_data_fields['custom_data_2'] = array(

array(
'tab_name'    =&amp;gt; __('Custom Data 2', 'wc_cpdf'),
),

array(
'id'          =&amp;gt; '_mytext_2',
'type'        =&amp;gt; 'text',
'label'       =&amp;gt; __('Text ABCD', 'wc_cpdf'),
'placeholder' =&amp;gt; __('A placeholder text goes here.', 'wc_cpdf'),
'class'       =&amp;gt; 'large',
'description' =&amp;gt; __('Field description.', 'wc_cpdf'),
'desc_tip'    =&amp;gt; true,
)

);

return $custom_product_data_fields;

}

endif;

حال به ویرایش محصول مراجعه نمایید که باید همانند زیر باشد

نمایش اطلاعات بیشتر از محصولات

خب در اینجا باید کد زیر رو جهت فراخوانی کدها استفاده نمایید زیرا فیلدها نمایش داده نمی شوند پس بریم سراغ کدها که مثالی رو نیز برای متوجه شدن بهتر قرار می دهیم

کد بازگردانی فیلد های تک مقداری

/**
*
* Don't forget to include $wc_cpdf global variable
* $wc_cpdf-&amp;gt;get_value($post_id, $field_id);
* $post_id = (integer) post ID
* $field_id = (string) unique field ID
*
*/

global $wc_cpdf;
echo $wc_cpdf-&amp;gt;get_value(get_the_ID(), '_mytext');

کد بازگردانی فیلد های چند مقداری

global $wc_cpdf;
$multiselect = $wc_cpdf-&amp;gt;get_value($post-&amp;gt;ID, '_mymultiselect');
foreach ($multiselect as $value) {
echo $value;
}

کد بازگردانی تصاویر

global $wc_cpdf;
$image_id = $wc_cpdf-&amp;gt;get_value($post-&amp;gt;ID, '_myimage');
$size = 'thumbnail';
$image_attachment = wp_get_attachment_image($image_id, $size);
echo $image_attachment;

کد بازگردانی تصاویر در حالت گالری

global $wc_cpdf;
$gallery = $wc_cpdf-&amp;gt;get_value($post-&amp;gt;ID, '_mygallery');
foreach ($gallery as $image_id) {

$size = 'thumbnail';
$image_attachment = wp_get_attachment_image($image_id, $size);

echo $image_attachment;

}

کدهای کاربردی وردپرس بالا رو مشاهده نمایید که باید در ادامه کد اول در فانکشن باید قرار دهید

مثال : دوستان این مثال برای این بوده است تا جدولی رو جهت اندازه های محصول در توضیحات محصول داشته باشید که باید کد زیر رو در function.php  و در ادامه <?php قرا دهید

/**
* Define custom product data fields
*/

add_action('wc_cpdf_init', 'prefix_custom_product_data', 10, 0);
if(!function_exists('prefix_custom_product_data')) :

function prefix_custom_product_data(){

$custom_product_data_fields = array();

$custom_product_data_fields['ceramic_details'] = array(

array(
'tab_name'   =&amp;gt; __('Ceramic Details', 'textdomain'),
),
array(
'id'         =&amp;gt; 'c_height',
'type'          =&amp;gt; 'text',
'label'      =&amp;gt; __('Height', 'textdomain')
),
array(
'id'          =&amp;gt; 'c_width',
'type'          =&amp;gt; 'text',
'label'      =&amp;gt; __('Width', 'textdomain')
),
array(
'id'          =&amp;gt; 'c_depth',
'type'          =&amp;gt; 'text',
'label'      =&amp;gt; __('Depth', 'textdomain')
),
array(
'id'          =&amp;gt; 'c_material',
'type'          =&amp;gt; 'select',
'label'      =&amp;gt; __('Material', 'textdomain'),
'options'    =&amp;gt; array(
'--'                =&amp;gt; '--',
'Earthenware'       =&amp;gt; 'Earthenware',
'White earthenware' =&amp;gt; 'White earthenware',
'Red earthenware'   =&amp;gt; 'Red earthenware',
'Stoneware'         =&amp;gt; 'Stoneware',
'Porcelain'         =&amp;gt; 'Porcelain'
),
),
array(
'id'           =&amp;gt; 'c_ref',
'type'           =&amp;gt; 'text',
'label'       =&amp;gt; __('Ref', 'textdomain')
),
array(
'id'           =&amp;gt; 'c_artist',
'type'           =&amp;gt; 'select',
'label'       =&amp;gt; __('Artist', 'textdomain'),
'options'     =&amp;gt; array(
'--'        =&amp;gt; '--',
'John Doe'  =&amp;gt; 'John Doe',
'Jane Doe'  =&amp;gt; 'Jane Doe'
),
),

);

return $custom_product_data_fields;

}

endif;

شما میتونید فیلد هایی رو که در مقادیر بالا انگلیسی بوده است فارسی کنید و با قرار دادن کد زیر در ادامه کد بالا میتونید برای بازگردانی مقادیر که در صفحه محصول نمایش داده شوند استفاده کنید

/*
* Display product data values underneath the &amp;quot;Add to Cart&amp;quot; button
*/

add_action('woocommerce_single_product_summary', 'prefix_display_ceramic_details', 31);
function prefix_display_ceramic_details(){

global $wc_cpdf;

$height    = $wc_cpdf-&amp;gt;get_value(get_the_ID(), 'c_height');
$width     = $wc_cpdf-&amp;gt;get_value(get_the_ID(), 'c_width');
$depth     = $wc_cpdf-&amp;gt;get_value(get_the_ID(), 'c_depth');
$material  = $wc_cpdf-&amp;gt;get_value(get_the_ID(), 'c_material');
$ref       = $wc_cpdf-&amp;gt;get_value(get_the_ID(), 'c_ref');
$artist    = $wc_cpdf-&amp;gt;get_value(get_the_ID(), 'c_artist');

$output = '
&amp;lt;table border=&amp;quot;0&amp;quot;&amp;gt;';
$output .= '
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;'.__('Height: ', 'textdomain').'&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;'.$height.'&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;

';
$output .= '
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;'.__('Width: ', 'textdomain').'&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;'.$width.'&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;

';
$output .= '
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;'.__('Depth: ', 'textdomain').'&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;'.$depth.'&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;

';
$output .= '
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;'.__('Material: ', 'textdomain').'&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;'.$material.'&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;

';
$output .= '
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;'.__('Ref: ', 'textdomain').'&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;'.$ref.'&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;

';
$output .= '
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;'.__('Artist: ', 'textdomain').'&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;'.$artist.'&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;

';
$output .= '&amp;lt;/table&amp;gt;

';

echo $output;

}

میتونید به سایت جهت مشاهده همانند زیر مراجعه نمایید

woocommerce custom product data fields

از همراهی تک تک شما عزیزان سپاسگذاریم

منبع : قالب وردپرس

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *