رفتن به مطلب

ahmad4u

عضو سایت
  • تعداد ارسال‌ها

    274
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    3

نوشته‌ها ارسال شده توسط ahmad4u

  1. در 8 ساعت قبل، zarcod گفته است :

    این کد را داخل فایل فانکشن بگذارید

    
    add_action('add_meta_boxes','meta_idprod_related');
    add_action('save_post' , 'save_meta_id_related');
    function meta_idprod_related(){
        $qpid= array('product');
        foreach ($qpid as $qid) {
            add_meta_box('id_rel_product', 'آی دی محصول مرتبط ', 'related_id_product', $qid, 'side', '');
    
        }
    }
    function related_id_product($post){
        
        $relat=get_post_meta($post ->ID,'id_rel',true);
    		?> 
         <input class="input " name="txt_id_rel" type="text" value="<?php  echo $relat?>" />
    <?php
    }
    function save_meta_id_related($post_id){
       
        if (isset($_POST['txt_id_rel']) && !empty($_POST['txt_id_rel'])){
            update_post_meta($post_id , 'id_rel',sanitize_text_field($_POST['txt_id_rel']));
    }
    } 

    این کد را جایی که میخواهید نمایش داده شود .فقط جای نامک دسته بندی نامک دسته مورد نظر را وارد کنید به انگلیسی

     

    
    	<?php
    	$relat=get_post_meta($post ->ID,'id_rel',true);
        $qprod = new WP_Query(array(
            'post_type' => 'product',
            "posts_per_page" => 3,
    		'product_cat'    =>'نامک دسته بندی',
        ));
        if ($qprod->have_posts()) :
            while ($qprod->have_posts()) : $qprod->the_post(); ?>
        <div class="post-zarcod">
            <figure class="thomb-slid">                      
            <a href="<?php the_permalink(); ?>"> <?php the_post_thumbnail(); ?> </a>
            </figure>
            <div class="title-prod-zarcod">
            <a href="<?php the_permalink(); ?>">
                 <h2><?php the_title(); ?></h2>
            </a>
            </div>
    
        </div>
        <?php
            endwhile;
            wp_reset_postdata();
        endif; ؟>

    تشکر از شما

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

  2. در ۱ ساعت قبل، zarcod گفته است :

    این کد را داخل فایل فانکشن قالب قرار دهید. البته  جای متن تست متنی که میخواهید بگذارید

    
    function add_to_watermark( ) {    
       echo '<p class="mark-img">متن تست</p>';
    }
    add_filter( 'woocommerce_before_shop_loop_item', 'add_to_watermark' );

    و کد زیر را داخل فایل استایل قالب

    
    .mark-img{
      position: absolute;
        right: 1em;
    }

     

    دو سوال:

    اول اینکه کد برای تصاویر مطالب و فروشگاه کاربرد داره یا فقط فروشگاه؟ (چون تو بخش آخر ووکامرس آورده شده!)

    دوم اینکه ما بجای متن میخواهیم عکس قرار بدیم و دو راه وجود داره (کدوم بهتره؟)

    1) بجای متن تست، لینک عکس قرار بدیم

    2) تو css از background-image استفاده کنیم

     

  3. در 10 ساعت قبل، zarcod گفته است :

    میتوانید با متا باکس ها id رو در صفحه محصول از کاربر بگیرید و داخل کوئری که میزنید از آن استفاده کنید و اینطوری میتوانید بصورت دستی هر محصول را جدا گانه شخصی سازی کنید.

    خوب کد اینایی که گفتی لازم دارم :rolleyes:

  4. در 2 ساعت قبل، zarcod گفته است :

    سلام

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

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

    که میخواهید را به نمایش بگذارید.

     

     

     

    تشکر از پاسختون

    چون ما میخواهیم محصولات دسته بندی های مختلف را بصورت رندوم نمایش بدیم تنها راه اینه بصورت کدنویسی باشه و با توجه به اینکه 10 دسته بندی مطلب و فروشگاهی نداریم بهتره برای نمایش محصولات مرتبط با هر دسته بندی مطلب اونارو بصورت دستی کددهی کنیم.

    مثلا براش تعریف کنیم برای مطالب دسته بندی با ای دی 15 محصولات دسته بندی با ایدی 50 نمایش بده و برای مطالب دسته بندی با ای دی 10 محصولات دسته بندی با ایدی 52 نمایش بده و ...

  5. سلام دوستان

    چگونه میتونم یکسری محصولات مرتبط با دسته بندیرا بین مطالب (پست) قرار بدم؟

    مثلا براش تعریف کنیم برای مطالب دسته بندی با ای دی 15 محصولات دسته بندی با ایدی 50 نمایش بده و برای مطالب دسته بندی با ای دی 10 محصولات دسته بندی با ایدی 52 نمایش بده و ...

    افزونه نمیخوام

    بصورت کد باشه

     

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

    میخواستم بپرسم افزونه ای هست که تمام تصاویر رو بصورت سازماندهی ماهانه در بیاره و لینک تصاویر تو پست ها رو هم تغییر بده
    یا
    همه تصاویر توی یک فولدر تو uploads بریزیم و بعد از طریق دیتابیس ادرس اونا رو تغییر بدیم تو پست ها


    بهترین راهکار برای حل این مشکل چیه؟

  7. باید روزانه در قسمت ووکامرس -> وضعیت -> ابزارها -> بازسازی جداول جستجوی محصول انجام بشه

    WooCommerce -> Status -> Tool -> Regenerate Product lookup tabless

    چطور میتونم تو کرون جاب تنظیم کنم که هر روز خودکار اینکار صورت بگیره؟

  8. سلام دوستان

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

    در حقیقت ما یک custom field داریم که بصورت اتوماتیک تو هر پست یک لینک رو دریافت میکنه و میریزه تو متادیتا myfield
    حالا میخوایم به اول اون متادیتا یه لینک ثابت ترکیب کنیم و بعد اونو تو قسمت لینک خارجی محصولات ووکامرس بریزم

    فقط تا این حد میدونم که باید از get_post_meta و update_post_meta برای فراخونی و تغییر اون متادیتا استفاده کنم و بعد متغیر تولید شده بریزم تو زمینه دلخواه ووکامرس_product_url

     

    دوستان اگه لطف کنن و کد مربوطه را در اختیارم بزارن ممنونشون میشم

     

     

  9. سایتم بعد از انتقال سرور دچار مشکل شده و تایتل پست ها بصورت ناخوانا دراومده

    چه کد php برای درست شدن و دستی وارد کردن تایتل ها استفاده کنم

     

    تایتل تغییر یافته

    استخدام کارشناس اینترنت و �ضای مجازی در اص�هان

     

  10. در در 1/10/2020 at 19:13، poshenama گفته است :

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

    توی افزونه یاست سئو به صورت مستقیم فکر نکنم بشه

    فکر نکنم وارد کردن آدرس تک تک شماره صفحات (2000 شماره صفحه) برای حذف ایندکس در گوگل عقلانی باشه

    راه حلی نیست که مثلا درخواست بدیم رنج شماره صفحات (از 1 تا 2000) رو پاک کنه؟

  11. بله اینم میتونه یک راه حل باشه

    اما تو افزونه all in one seo pack یک گزینه هست برای غیرفعال کردن ایندکس صفحه بندی مطالب

    حالا سوال من اینه آیا تو افزونه yoast هم میشه چنین کاری کرد؟

    و سوال بعدی اینکه چطور میشه صفحه بندی های ایندکس شده در گوگل (2000 مورد) را حذف کرد؟

  12. آیا امکانش هست هر دو کد (حذف لینک + حذف تصویر) را در هم ادغام کنم یا باید حتما بصورت جداگانه وارد کنم.

    کد را بصورت زیر ادغام میکنم اما لینک حذف میشود اما تصویر حذف نمشود

    add_filter('the_content', function($content)
    {
    	$dom = new DOMDocument('1.0', 'UTF-8');
    	@$dom->loadHTML(mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8'));
    	$xpath = new DOMXpath($dom);
    	
    	$anchor = $xpath->query('//a');
    	
    	if($anchor->length == 0)
    	{
    		return $content;
    	}
    		
    	$pattern = '/^https:\/\/mehran\.com/';
    	
    	foreach($anchor as $link)
    	{
    		if(preg_match($pattern, $link->getAttribute('href')))
    		{
    			if($link->childNodes->length > 0)
    			{
    				$link->parentNode->insertBefore($link->childNodes->item(0), $link);
    			}
    			
    			$link->parentNode->removeChild($link);
    		}
    	}
    
    
    	$image = $xpath->query('//img');
    	
    	if($image->length == 0)
    	{
    		return $content;
    	}
    		
    	$pattern = '/^https:\/\/mehran\.com\/images.*/';
    	
    	foreach($image as $img)
    	{
    		if(preg_match($pattern, $img->getAttribute('src')))
    		{
    			$img->parentNode->removeChild($img);
    		}
    	}
    	
    	return trim(preg_replace('/^<!DOCTYPE.+?>/', '', str_replace(array('<html>', '</html>', '<body>', '</body>'), array('', '', '', ''), $dom->saveHTML($dom->documentElement))));
    });

    اگر امکانش هست ادغام شده دو کد را هم قرار بدید

  13. در در 8/28/2019 at 14:49، mehran-b گفته است :

    خوب اینطوری شما باید با RegEx آشنایی داشته باشید.

    کدش این میشه:

    
    add_filter('the_content', function($content)
    {
    	$dom = new DOMDocument('1.0', 'UTF-8');
    	@$dom->loadHTML(mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8'));
    	$xpath = new DOMXpath($dom);
    	
    	$anchor = $xpath->query('//a');
    	
    	if($anchor->length == 0)
    	{
    		return $content;
    	}
    		
    	$pattern = '/^https:\/\/mehran\.com/';
    	
    	foreach($anchor as $link)
    	{
    		if(preg_match($pattern, $link->getAttribute('href')))
    		{
    			if($link->childNodes->length > 0)
    			{
    				$link->parentNode->insertBefore($link->childNodes->item(0), $link);
    			}
    			
    			$link->parentNode->removeChild($link);
    		}
    	}
    	
    	return trim(preg_replace('/^<!DOCTYPE.+?>/', '', str_replace(array('<html>', '</html>', '<body>', '</body>'), array('', '', '', ''), $dom->saveHTML($dom->documentElement))));
    });

     

    که متغییر pattern شامل الگوی آدرس لینک هایی میشه که باید حذف شن.

    به عنوان مثال مقداری که من وارد کردم لینک هایی که با عبارت:

    
    https://mehran.com

    شروع میشن رو حذف میکنه.

    اگر عکس داشتیم با آدرس سایت خاص

    چه تغییراتی باید تو کدهای بالا اضافه کنیم تا مثلا عکس هایی که از سایت https://mehran.com/images لود میشه حذف کنه؟

×
×
  • اضافه کردن...