7 پست در این موضوع قرار دارد

با سلام خدمت اساتید محترم

بنده در حال طراحی یک قالب شرکتی و نمایش محصول برای وردپرس هستم.

برای نمایش محصولات یک پست تایپ سفارشی به نام product ایجاد کردم برای این پست تایپ یک taxonomy انحصاری مانند category وردپرس ثبت کرده ام.

برای ساخت صفحات قالب بر اساس درخواست مشتری نیاز به شبیه سازی این صفحات دارم. بدین صورت که در یک صفحه، لینک و عنوان دسته بندی های taxonomy مادر رو نشون بدم و پس از کلیک بر روی دسته بندی، زیر شاخه های این دسته بندی نمایش داده بشه به همین ترتیب تا در نهایت در آخرین زیر شاخه custom taxonomy، محصولات اون دسته بندی نمایش داده بشه.

دقیقا مطابق لینک های زیر:

 

قسمت اول (محصولات نمایندگی زیمنس)

 

زیر شاخه دوم

 

زیر شاخه سوم (single-product.php)

 

ممنون میشم راهنمایی بفرمائید. در ضمن بهترین کد برای افزودن پشتیبانی از thumbnail برای دسته بندی های وردپرس چیست!؟

 

پ.ن: استادان گرامی و دوستان عزیز، لطفاً فقط کد و یا الگوریتم پیاده سازی را معرفی نمائید و از معرفی افزونه خودداری فرمائید.

با تشکر و سپاس فراوان 

0

به اشتراک گذاری این پست


لینک به پست

سلام ، با کدی که فرستادم میتونید همه ی دسته ها تو سطح اول و بگیرید.

$terms = get_terms( array(
    'taxonomy' => '$taxonomy',
    'hide_empty' => false,
    'parent'    => 0
) );

و با این کد ، دسته ها و زیردسته ها رو نمایش میده

     foreach($terms as $term){
     	 echo "<li><a href='".get_term_link( $term->term_id,'$taxonomy' )."'>$term->name</a>";
     	 	 $chterms = get_terms( array(
				    'taxonomy' => 'product_cat',
				    'hide_empty' => false,
				     'parent'    => $term->term_id
				) );
				if($chterms){
					echo "<ul class='child'>";
					foreach($chterms as $ch){
						echo "<li ><a href='".get_term_link( $ch->term_id,'$taxonomy' )."'>$ch->name</a></li>";
					}
					echo "</ul>";
				}
     	 }
     	 echo "</li>";
     }

 

4

به اشتراک گذاری این پست


لینک به پست

خیلی ممنون، لطف کردید.

حالا سوال من این هست، اینکه من برای این قسمت سایت یک page template  بسازم و لینکش رو استاتیک در جاهایی که قرار بدم، آیا کار استانداردی هست؟!

دوم اینکه ممنون میشم بابت نمایش thumbnail برای دسته بندی ها هم راهنمایی بفرمائید.

0

به اشتراک گذاری این پست


لینک به پست
در 5 دقیقه قبل، amirhosein-wp گفته است :

خیلی ممنون، لطف کردید.

حالا سوال من این هست، اینکه من برای این قسمت سایت یک page template  بسازم و لینکش رو استاتیک در جاهایی که قرار بدم، آیا کار استانداردی هست؟!

دوم اینکه ممنون میشم بابت نمایش thumbnail برای دسته بندی ها هم راهنمایی بفرمائید.

بستگی به نیازتون داره ک بخواین این دسته ها رو کجا نمایش بدین، معمولا میزارن تو سایدبار و اون سایدبارو تو صفحاتی ک میخوان فراخونی میکنن، مثل صفحه ی آرشیو.

منظورتون از سوال دوم اینه که میخواین دسته بندی هاتون عکس داشته باشه؟

2

به اشتراک گذاری این پست


لینک به پست
در 4 دقیقه قبل، Ghasemi گفته است :

بستگی به نیازتون داره ک بخواین این دسته ها رو کجا نمایش بدین، معمولا میزارن تو سایدبار و اون سایدبارو تو صفحاتی ک میخوان فراخونی میکنن، مثل صفحه ی آرشیو.

منظورتون از سوال دوم اینه که میخواین دسته بندی هاتون عکس داشته باشه؟

سلام مجدد...

 

بله، دسته بندی ها عکس داشته باشه

 

0

به اشتراک گذاری این پست


لینک به پست

این کدو تو فایل فانکشن تون قرار بدین

 if ( ! class_exists( 'CT_TAX_META' ) ) {
    class CT_TAX_META {
        public function __construct() {
    }
    // Initialize the class and start calling our hooks and filters
    public function init() {
        add_action( 'category_add_form_fields', array ( $this, 'add_category_image' ), 10, 2 );
        add_action( 'created_category', array ( $this, 'save_category_image' ), 10, 2 );
        add_action( 'category_edit_form_fields', array ( $this, 'update_category_image' ), 10, 2 );
        add_action( 'edited_category', array ( $this, 'updated_category_image' ), 10, 2 );
        add_action( 'admin_enqueue_scripts', array( $this, 'load_media' ) );
        add_action( 'admin_footer', array ( $this, 'add_script' ) );
    }
    public function load_media() {
     wp_enqueue_media();
    }
    // Add a form field in the new category page
    public function add_category_image ( $taxonomy ) { ?>
        <div class="form-field term-group">
            <label for="category-image-id"><?php _e('Image', 'Personal-blog'); ?></label>
            <input type="hidden" id="category-image-id" name="category-image-id" class="custom_media_url" value="">
            <div id="category-image-wrapper"></div>
            <p>
            <input type="button" class="button button-secondary ct_tax_media_button" id="ct_tax_media_button" name="ct_tax_media_button" value="<?php _e( 'Add Image', 'Personal-blog' ); ?>" />
            <input type="button" class="button button-secondary ct_tax_media_remove" id="ct_tax_media_remove" name="ct_tax_media_remove" value="<?php _e( 'Remove Image', 'Personal-blog' ); ?>" />
            </p>
        </div>
        <?php
    }
    //Save the form field 
    public function save_category_image ( $term_id, $tt_id ) {
        if( isset( $_POST['category-image-id'] ) && '' !== $_POST['category-image-id'] ){
            $image = $_POST['category-image-id'];
            add_term_meta( $term_id, 'category-image-id', $image, true );
        }
    }
    // Edit the form field
    public function update_category_image ( $term, $taxonomy ) { ?>
        <tr class="form-field term-group-wrap">
            <th scope="row">
                <label for="category-image-id"><?php _e( 'Image', 'Personal-blog' ); ?></label>
            </th>
            <td>
                <?php $image_id = get_term_meta ( $term -> term_id, 'category-image-id', true ); ?>
                <input type="hidden" id="category-image-id" name="category-image-id" value="<?php echo $image_id; ?>">
                <div id="category-image-wrapper">
                    <?php if ( $image_id ) { ?>
                    <?php echo wp_get_attachment_image ( $image_id, 'thumbnail' ); ?>
                    <?php } ?>
                </div>
                <p>
                    <input type="button" class="button button-secondary ct_tax_media_button" id="ct_tax_media_button" name="ct_tax_media_button" value="<?php _e( 'Add Image', 'Personal-blog' ); ?>" />
                    <input type="button" class="button button-secondary ct_tax_media_remove" id="ct_tax_media_remove" name="ct_tax_media_remove" value="<?php _e( 'Remove Image', 'Personal-blog' ); ?>" />
                </p>
            </td>
        </tr>
     <?php
     }
    // Update the form field value
    public function updated_category_image ( $term_id, $tt_id ) {
        if( isset( $_POST['category-image-id'] ) && '' !== $_POST['category-image-id'] ){
            $image = $_POST['category-image-id'];
            update_term_meta ( $term_id, 'category-image-id', $image );
        } else {
            update_term_meta ( $term_id, 'category-image-id', '' );
        }
    }
    //Add script
    public function add_script() { ?>
        <script>
            jQuery(document).ready( function($) {
            function ct_media_upload(button_class) {
                var _custom_media = true,
                _orig_send_attachment = wp.media.editor.send.attachment;
                $('body').on('click', button_class, function(e) {
                var button_id = '#'+$(this).attr('id');
                var send_attachment_bkp = wp.media.editor.send.attachment;
                var button = $(button_id);
                _custom_media = true;
                wp.media.editor.send.attachment = function(props, attachment){
                    if ( _custom_media ) {
                    $('#category-image-id').val(attachment.id);
                    $('#category-image-wrapper').html('<img class="custom_media_image" src="" style="margin:0;padding:0;max-height:100px;float:none;" />');
                    $('#category-image-wrapper .custom_media_image').attr('src',attachment.url).css('display','block');
                    } else {
                    return _orig_send_attachment.apply( button_id, [props, attachment] );
                    }
                    }
                wp.media.editor.open(button);
                return false;
            });
            }
            ct_media_upload('.ct_tax_media_button.button'); 
            $('body').on('click','.ct_tax_media_remove',function(){
            $('#category-image-id').val('');
            $('#category-image-wrapper').html('<img class="custom_media_image" src="" style="margin:0;padding:0;max-height:100px;float:none;" />');
            });
            // Thanks: http://stackoverflow.com/questions/15281995/wordpress-create-category-ajax-response
            $(document).ajaxComplete(function(event, xhr, settings) {
            var queryStringArr = settings.data.split('&');
            if( $.inArray('action=add-tag', queryStringArr) !== -1 ){
                var xml = xhr.responseXML;
                $response = $(xml).find('term_id').text();
                if($response!=""){
                // Clear the thumb image
                $('#category-image-wrapper').html('');
                }
            }
            });
        });
        </script>
    <?php }
    }
    $CT_TAX_META = new CT_TAX_META();
    $CT_TAX_META -> init();
    }
    

بجای category ، توی کدی که فرستادم باید اسم تاکسونامی تون و بزارید.

4

به اشتراک گذاری این پست


لینک به پست

ممنون، لطف کردید... سپاس

1

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری