رفتن به مطلب

mehran-b

راهبر ارشد
  • تعداد ارسال‌ها

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

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

  • روز های برد

    293

نوشته‌ها ارسال شده توسط mehran-b

  1. جناب @lord_viper مشکل حل شد.

    علت ایجاد مشکل طولانی بودن لینک ها بود که برای حل این مشکل از هر لینک یک هش با الگوریتم SHA256 ساختم و ستونی که هش توش ذخیره میشد رو Primary کردم در نتیجه دیگه اصلا احتیاج نیست که وجود لینک در تیبل رو بررسی کنم.

  2. بفرمایید.

    function add_meta_keywords() {
    if(is_single()) :
    $posttags = get_the_tags();
    if ($posttags) {
    $tag_names = '';
      foreach($posttags as $tag) {
        $tag_names .= $tag->name . ',';
      }
    ?>
    		<meta name="keywords" content="<?php echo rtrim($tag_names, ','); ?>"/>
        <?php } endif;
    }
    add_action('wp_head', 'add_meta_keywords');

    این کد رو در فایل functions.php قالبتون و دقیقا بعد از

    <?php

    قرار بدید.

    پ.ن : یاتون نره بخش meta keywords خود افزونه سئو رو غیرفعال کنید.

    • امتیاز 2
  3. در 31 دقیقه قبل، mahdi0000 گفته است :

    شی گرایی توی زبان های دیگه بلدم ولی توی php و وردپرس بلد نیستم

    میخوام یکی راهنماییم کنه یا کدی چیزی بم بده.

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

    سایر دوستان لطفا راهنمایی کنند.

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

    عذر میخوام قربان. چون این عملیاتی که توسط این کد انجام میشه عملیات بسیار حساسی هست من یه تغییری دادم توی کد لطفا کدی رو که دادم با این کد جایگزین کنید چون کد قبلی کمی شلخته بود.

    
    function buffer_change($buffer) {      
        $dom = new DOMDocument();
    	@$dom->loadHTML(mb_convert_encoding($buffer, 'HTML-ENTITIES', 'UTF-8'));
    	$xpath = new DOMXpath($dom);
    	foreach ($xpath->query('//a') as $node) {
    		if(strpos($node->getAttribute('href'), 'mandegarweb.com') !== false) {
    			$node->removeAttribute('rel');
    			$node->removeAttribute('target');
    			$node->setAttribute('rel', 'nofollow');
    			$node->setAttribute('target', '_blank');
    		}
    	}
    	return $dom->saveHTML($dom->documentElement);
    }
    function buffer_start() {ob_start("buffer_change");}
    function buffer_end() {ob_end_flush();}
    add_action('after_setup_theme', 'buffer_start');
    add_action('shutdown', 'buffer_end');

     

    الان که بیشتر دقت کردم :D دیدم بهتره خط

    add_action('after_setup_theme', 'buffer_start');

    رو با

    add_action('wp_loaded', 'buffer_start');

    جایگزین کنید.

    الیته اینا همش جهت بهبود عملکرد این کد هست وگرنه همه کدهایی که دادم کار میکنند.

    • امتیاز 1
  5. در 7 دقیقه قبل، Ali گفته است :

    عذر میخوام اول اشتباه قرار بودم

    خیلی ممنون درست شد! :)

    عذر میخوام قربان. چون این عملیاتی که توسط این کد انجام میشه عملیات بسیار حساسی هست من یه تغییری دادم توی کد لطفا کدی رو که دادم با این کد جایگزین کنید چون کد قبلی کمی شلخته بود.

    function buffer_change($buffer) {      
        $dom = new DOMDocument();
    	@$dom->loadHTML(mb_convert_encoding($buffer, 'HTML-ENTITIES', 'UTF-8'));
    	$xpath = new DOMXpath($dom);
    	foreach ($xpath->query('//a') as $node) {
    		if(strpos($node->getAttribute('href'), 'mandegarweb.com') !== false) {
    			$node->removeAttribute('rel');
    			$node->removeAttribute('target');
    			$node->setAttribute('rel', 'nofollow');
    			$node->setAttribute('target', '_blank');
    		}
    	}
    	return $dom->saveHTML($dom->documentElement);
    }
    function buffer_start() {ob_start("buffer_change");}
    function buffer_end() {ob_end_flush();}
    add_action('after_setup_theme', 'buffer_start');
    add_action('shutdown', 'buffer_end');

     

    • امتیاز 1
  6. در 11 دقیقه قبل، m4xs051 گفته است :

    ممنون  @mehran-b

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

    قبلا دوستانی برای فارسی کردن این اعداد فانکشن هایی ایجاد کرده بودند که تو سرچ گوگل بدست آوردم و استفاده کردم ولی فایده ای نداشت! 

    ممنون میشم از دوستان دیگه که میتونن٬ راهنمایی کنن.

     

    مرسی منتظرم.

    فونت ساحل دارای نسخه اعداد فارسی نمی باشد.

    میتونید از فونت وزیر استفاده کنید.

    • امتیاز 1
  7. بهترین کار اینه از یه فونتی برای قالبتون استفاده کنید که به صورت پیشفرض تمام اعداد رو فارسی نشون میده.

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

    همون مورد اول بهتره.

  8. این کد رو در فایل functions.php زیر

    <?php

    قرار بدید.

    ob_start();
    add_action('shutdown', function() {
        $final = '';
        $levels = ob_get_level();
        for ($i = 0; $i < $levels; $i++) {
            $final .= ob_get_clean();
        }
        echo apply_filters('final_output', $final);
    }, 0);
    add_filter('final_output', function($output) {
        $dom = new DOMDocument();
    	@$dom->loadHTML(mb_convert_encoding($output, 'HTML-ENTITIES', 'UTF-8'));
    	$xpath = new DOMXpath($dom);
    	foreach ($xpath->query('//a') as $node) {
    		if(strpos($node->getAttribute('href'), 'mandegarweb.com') !== false) {
    			$node->setAttribute('rel', 'nofollow');
    			$node->setAttribute('target', '_blank');
    		}
    	}
    	return $dom->saveHTML($dom->documentElement);
    });

     

    • امتیاز 1
  9. در 27 دقیقه قبل، Ali گفته است :

    بله خوب اینجوری باید بخاطر یک دامین طراح قالب، نوفالو عمومی رو فعال کنم بعد به هر دامینی غیر دامین طراح که لینک دادم بیام اینجا وارد کنم که خیلی خسته کن هست

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

    سپاس فراوان

    اون آدرسی که توی فوتر میخوره چیه؟

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

    آره اینم یه راهی هست

    ولی خوب من نمیخوام تمام لینکهای خارجی سایتم نوفالو بشه

    آیا افزونه ای هست که بهش یه لینک رو بدم، هر جایی که اون لینک رو دید nofollow کنه؟

    در صفحه تنظیمات پلاگینی که گفتم در انتهاش یه باکس هست به نام Domains to Exclude هر دامنه ای رو که اونجا وارد کنید دیگه نوفالو نمیشه.

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

    باتشکر

    نگاه کردم، action.php فراخوانی میشه.

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

    ممنون میشم کمک کنید

    action.php

    متاسفانه از این تیپ کد گذاری سر در نمیارم.

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

    • امتیاز 1
  12. در 14 دقیقه قبل، Ali گفته است :

    باسلام

    در فایل tag.php کد

    
    <?php single_cat_title(); ?>

    رو گذاشتم اما توضیحات برچسپ رو نشون نمیده!

     

    اینم تمام کدهای فایل tag.php

    
    <?php get_header(''); ?>
    <?php get_template_part('inc/ticker'); ?>
    <div class="cat-titr-bg">
    <h1><?php single_cat_title(); ?></h1></div>
    <div class="cat-decx">
    
    <?php $description = tag_description(); ?>
    </div>
    
    <div class="mandegar-center">
    <div class="clear2"></div>
    <div id="contents001">
    <?php if(have_posts()) : while(have_posts()) : the_post();
    get_template_part('inc/article');
    endwhile; endif; ?>
    <div class="clear"></div>
    <?php if (function_exists("pagination")) { pagination($additional_loop->max_num_pages);} ?>
    <div class="clear"></div>
    </div>
    <?php get_sidebar(''); ?>
    <div class="clear"></div>
    </div>
    <?php get_footer(''); ?>

    راه حل چیست؟

    باتشکر

    اسم تگ رو میخواید توی h1 قرار بگیره؟

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

    از متد get_row یا get_var استفاده کنید

    
    $ret = $wpdb->get_var("select id from table where link='xXx'");
    if(empty($ret))
    echo 'not found';
    else
    echo 'found';

    جای table اسم جدول و جای xXx مقدار مورد نظر رو قرار بدید

    جناب @lord_viper موردی که شما فرمودید صد در صد درسته ولی نمیدونم چرا درست عمل نمیکنه.

    من تابعی که برای این کار نوشتم رو قرار میدم اگر نظری داشتید بگید.

    <?
    function nap_add_post_to_db($post_links = array(), $source_name) {
    	global $wpdb;
    	
    	if(!empty($post_links)) :
    	
    	$table_name = NAPTABLE;
    	
    		foreach($post_links as $link) :
    		
    		if(is_null($wpdb->get_var("SELECT id FROM $table_name WHERE link='$link'")))
    			$wpdb->query($wpdb->prepare("INSERT INTO $table_name (link, source_name) VALUES (%s, %s)", $link, $source_name));
    		
    		endforeach;
    	
    	endif;
    	
    }
    ?>

     

  14. سلام بر دوستان و اساتید

    در حال کدنویسی یک پلاگین هستم که پلاگین بنده یک تیبل جدید در دیتابیس وردپرس ایجاد میکنه تیبل ایجاد شده شامل سه ستون هست که عبارت است از id و link و source_name حالا اگر بخوام با کلاس wpdb چک کنم یه مقدار خاصی توی ستون link هست باید از کدوم متد این کلاس و چگونه استفاده کنم؟

    تشکر

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