انجمن


هک کاربردی در قالب  (۱۰ نوشته)

  • NESTED

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۲۳۵۴
    تشکر شده: ۲۳۷۰ بار
    # نوشته شده: ۹ سال پیش
    ۱۳ آذر ۱۳۹۰ - ۱۷:۲۲

    وردپرس در اصل به عنوان یک پلت فرم وبلاگ ایجاد شد. اما در حال حاضر وردپرس رشد کرده است و آنقدر قدرتمند است که شما می توانید آن را برای ایجاد هر نوع وب سایت و از آن به عنوان یک سیستم مدیریت محتوا (CMS) استفاده کنید. در این مقاله ، من قصد دارم برخی از ترفندهای وردپرس در مورد چگونگی ساخت بهتر قالب وردپرس در اختیارتون بذارم. الیته شاید قبلا بازگو شده باشن !!!!
    تگ های شرطی وردپرس
    تگ ها شروطی هستند که در هنگام ایجاد یک قالب وردپرس پویا بسیار مفید می باشند. این تگ های شرطی به شما این اجازه را می دهند تا به کنترل محتوا نمایش داده شده در قالب خودتون بپرددازید .
    چند نمونه استفاده از تگ های شرطی :
    Dynamic Title tag
    استفاده از تگ های شرطی در <title> در خروجی header.php :

    <title>
    <?php
    if (is_home()) {
    	echo bloginfo('name');
    } elseif (is_404()) {
    	echo '404 Not Found';
    } elseif (is_category()) {
    	echo 'Category:'; wp_title('');
    } elseif (is_search()) {
    	echo 'Search Results';
    } elseif ( is_day() || is_month() || is_year() ) {
    	echo 'Archives:'; wp_title('');
    } else {
    	echo wp_title('');
    }
    ?>
    </title>

    Dynamic Content
    اگر شما می خواهید که یک فایل مد نظر ، تنها در صفحه اول سایت نمایش داده شود، می توانید از این شرط استفاده کنید :
    <?php if ( is_home() ) { include ('file.php'); } ?>

    پست های ویژه در حالت بر جسته !!! :
    برای مثال شما می خواهید برای دسته بندی categoryID 2 یک کلاس CSS در نظر بگیرید که تمام پست های در این دسته بندی هستند با استایلی دیگر نمایان شوند ، برای اینکار شما می توانید کد زیر را در حلقه استفاده کنید:
    <?php if ( in_category('2') ) { echo ('class="feature"'); } ?>

    مختص کردن تک نوشته یه قالب مجزا:
    فرض کنید می خواهید به استفاده از قالب های مختلف تک نوشته های ارسالی در دسته بندی خاصی در قالبی خاص نمایش دهید . شما می توانید با استفاده in_category پست های ذخیره شده در هر دسته بندی که مد نظر شما می باشد را با استفاده از قالب های مختلف نمایش بدهید . خب برای شروع در فایل single.php پیش فرض قالب سایتتون ، کد زیر را وارد کنید.
    برای مثال اگر پستی در دسته بندی با ایدی 1 باشد با استفاده از single1.php، elseif در single1 نمایش داده شود .
    اگر پستی در دسته بندی با آیدی 2 موجود بود ، با استفاده از single2.php، نمایش داده شود .
    و برای پستهای دیگر که شامل این دسته بندیها نیستند از single_other.php استفاده شود

    <?php
      $post = $wp_query- >post;
    
      if ( in_category('1') ) {
      include(TEMPLATEPATH . '/single1.php');
    
      } elseif ( in_category('2') ) {
      include(TEMPLATEPATH . '/single2.php');
    
      } else {
      include(TEMPLATEPATH . '/single_other.php');
    
      }
    ? >

    کوئری های نمایش پست :
    نمایش آخرین ارسال ها»
    با استفاده از کوئری زیر می تونید 5 ارسال آخر را در یک لیست نمایش دهید :

    <?php query_posts('showposts=5'); ?>
    
    <ul>
      <?php while (have_posts()) : the_post(); ?>
      <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
      <?php endwhile;?>
    </ul>

    نمایش پست های ویژه»
    با استفاده از کوئری زیر می توایند 5 ارسال اخر یک دسته بندی خاص را در هر جایی از قالب ( sidebar.php ) نمایش دهید :

    <?php query_posts('cat=2&showposts=5'); ?>
    
    <ul>
      <?php while (have_posts()) : the_post(); ?>
      <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
      <?php endwhile;?>
    </ul>

    نمایش ندادن پستهای یه دسته یندی در حلقه :
    با ساتفاده زا کد زیر می تونید پستهای یک دسته بندی را در حلقه نمایش ندهید ، ( به علامت منقی ثبل از آیدی دسته بندی توجه داشته باید که این علامت - جهت جلوگیری از نمایش پستها درج شده است )

    <?php query_posts('cat=-2'); ?>
    
    <?php while (have_posts()) : the_post(); ?>
      //the loop here
    <?php endwhile;?>

    نکته : شما می توانید با استفاده از کوئری زیر پستی خاص را نمایش ندهید :
    <?php query_posts('posts_per_page=6'); ?>

    کاستوم فیلدهای سفارشی ( زمینه دلخواه سفارشی ) :
    زمینه دلخواه سفارشی یکی از قوی ترین ویژگی های وردپرس می باشند. این زمینه ها به شما اجازه می دهند تا داده های اضافی و یا متن را به همراه محتوا و چکیده ای به پستهای خود متصل کنید .
    اول باید فیلد های سفارشی در پست اضافه کنید:
    برای نمونه نمایش تصویر :

    <?php //get article_image (custom field) ?>
    <?php $image = get_post_meta($post->ID, 'article_image', true); ?>
    
    <a href="<?php the_permalink() ?>"><img src="<?php echo $image; ?>" alt="<?php the_title(); ?>" /></a>

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

    الگو wp_list_pages :
    wp_list_pages برچسب است که معمولا مورد استفاده برای نمایش لیستی از صفحات وردپرس در هدر و نوار کناری .
    به عنوان مثال :
    نقشه سایت
    برای تولید نقشه سایت از تمام صفحات ، با قرار دادن این کد در در جای مناسب صفحه قالب می توانید الگو نقشه سایت را نمایش دهید (توجه داشته باشید : در کد زیر من برای نقشه سایت آیدی برگه شماره 12 را وارد کردم شما می توانید آیدی مورد نظر خود را وارد کنید) :

    <ul>
      <?php wp_list_pages('exclude=12&title_li=' ); ?>
    </ul>

    زیر منو داینامیک در برگه ها :
    با قرار دادن کد زیر در sidebar.php قالب می توایند اگز زیر منویی برای صفحات شما موجود بود را نمایش دهید :

    <?php
    $children = wp_list_pages('title_li=&child_of='.$post->ID.'&echo=0');
    if ($children) { ?>
    
    <ul>
      <?php echo $children; ?>
    </ul>
    <?php } ?>

    قالب مجزا برای برگه ها:
    با سافتاده از دستور زیر شما می توایند قالب های مجزا برای برگه های منشتر شده خود در نظر بگیرید

    <?php
    /*
    Template Name: test
    */
    ?>
    
    <?php get_header(); ?>
      //the loop here
    <?php get_footer(); ?>

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

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Arash_mhd - mohmon - ثاني عشر - امین - omid0098 - Alikhobeh - Morteza - WeAre.ir - Mx7.NeT - mortezanano - بهروز ازند - Ali72020 - Masx
  • NESTED

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۲۳۵۴
    تشکر شده: ۲۳۷۰ بار
    # نوشته شده: ۹ سال پیش
    ۲۱ بهمن ۱۳۹۰ - ۱۳:۲۱

    تصمیم گرفتم برای اینکه تاپیک جداگانه ایی برای از این قبیل هک باز نکنم تکه ها یاموزشی دیگه رو دنباله همین تاپیک اعلام کنم !
    شورت کد تعدا نظرات هر پست
    با درج کد زیر شما قادر خواهید بود تا تعدا نظرات ارسالی در هر پست با قرار دادن شورت کد مربوطه نمایش بدین :
    کد مربوط به فایل functions.php:

    <?php
    function comments_shortcode($atts) {
    	extract( shortcode_atts( array(
    		'id' => ''
    	), $atts ) );
    
    	$num = 0;
    	$post_id = $id;
    	$queried_post = get_post($post_id);
    	$cc = $queried_post->comment_count;
    		if( $cc == $num || $cc > 1 ) : $cc = $cc.' Comments';
    		else : $cc = $cc.' Comment';
    		endif;
    	$permalink = get_permalink($post_id);
    
    	return '<a href="'. $permalink . '" class="comments_link">' . $cc . '</a>';
    
    }
    add_shortcode('comments', 'comments_shortcode');
    ?>

    شورت کد مروبطه جهت درج در پست ( آیدی پست مربوطه رو می تونید بجای عدد یک قرار بدین )
    [comments id="1"]

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Morteza - WeAre.ir - بهروز ازند - Masx
  • NESTED

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۲۳۵۴
    تشکر شده: ۲۳۷۰ بار
    # نوشته شده: ۹ سال پیش
    ۲۱ بهمن ۱۳۹۰ - ۱۳:۲۵

    تغییر پیش فرض ادرس وردپرس در ایمیلهای ارسالی به کاربر:
    با قرار دادن کد زیر در فایل functions.php قالبتون می تونید متن و یا ادرس ایمیل دلخواه خودتون را جهت نمایش در ایمیلهای ارسالی از طرف وردپرس به ایمیل کاربران نشون بدین :

    <?php
    add_filter('wp_mail_from', 'new_mail_from');
    add_filter('wp_mail_from_name', 'new_mail_from_name');
    
    function new_mail_from($old) {
     return 'no-reply@example.com';
    }
    
    function new_mail_from_name($old) {
     return 'n3sted@yahoo.com';
    }
    ?>
    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Morteza - Parsa - WeAre.ir - بهروز ازند - Masx
  • NESTED

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۲۳۵۴
    تشکر شده: ۲۳۷۰ بار
    # نوشته شده: ۹ سال پیش
    ۲۱ بهمن ۱۳۹۰ - ۱۳:۳۴

    نمایش شورت کد در ابزارک :
    با استفاده از فیلتر زیر در فایل functions.php شما قادر خواهید بود که شورت کدها رو در ابزارک وردپرس نیز نمایش بدین
    <?php add_filter('widget_text', 'do_shortcode') ?>

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    WeAre.ir - بهروز ازند - Masx
  • NESTED

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۲۳۵۴
    تشکر شده: ۲۳۷۰ بار
    # نوشته شده: ۹ سال پیش
    ۲۳ بهمن ۱۳۹۰ - ۰۰:۰۹

    اضافه کردن یک کلاس سفارشی به the_tags
    با اضافه کردن این کد به فایل functions.php قالبتون می تونید باری خروجی بر چسبها در پست هاتون کلاسی خاص با استایلی خاص در نظر بگیرید :

    <?php
    function add_class_the_tags($html){
        $postid = get_the_ID();
        $html = str_replace('<a','<a class="NESTED"',$html);
        return $html;
    }
    add_filter('the_tags','add_class_the_tags',10,1);
    ?>
    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Parsa - Morteza - WeAre.ir - بهروز ازند - Masx
  • NESTED

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۲۳۵۴
    تشکر شده: ۲۳۷۰ بار
    # نوشته شده: ۹ سال پیش
    ۲۳ بهمن ۱۳۹۰ - ۰۰:۲۱

    کوتاه کردن خلاصه مطلب ( excerpt )
    روشهای زیادی برای کوتاه کردن خلاصه مطلب گفته شده بود من هم گفتم یه نوع قدیمیش رو مجدد بازگو کنم
    کد زیر رو در فایل functions.php قابلتون قرار بدین و برای کنترل خروجی می تونید بجای عدد 20 عدد مورد نظرتون رو درج کنید :

    <?php
    function new_excerpt_length($length) {
    	return 20;
    }
    add_filter('excerpt_length', 'new_excerpt_length');
    ?>
    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Morteza - WeAre.ir - بهروز ازند - Masx
  • NESTED

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۲۳۵۴
    تشکر شده: ۲۳۷۰ بار
    # نوشته شده: ۹ سال پیش
    ۲۵ بهمن ۱۳۹۰ - ۰۰:۰۲

    توضیحات دسته بندی ها ( category description )
    در وردپرس در بخش دسته ها قسمتی برای درج توضیحات دسته بندها در نظر گرفته شده که در زیر باکس اون ذکر شده:

    توضیحات به صورت پیش فرض مهم نیستند، با این حال برخی از پوسته‌ها ممکن است آنها را نمایش دهند.

    خب از دیده فنی و تجربی ، در نظر گرفتن توضیحات برای دسته بندیها الزامی هست !!!
    تابع اصلی نمایش توضیحات دسته بندیها در قالب
    <?php echo category_description( $category_id ); ?>
    یا استفاده از اسم دسته بندی :
    <?php echo category_description( get_category_by_slug('category-slug')->term_id ); ?>
    شما بجای
    $category_id
    باید ایدی دسته بندی مورد نظر رو درج کنید تا در دسته بندی مورد نظر توضیح همون دسته بندی رونشون بده البته گاهی اوقات در سایت فقط یک دسته بندی داریم وکه بازم موردی نداره و اتوماتیک بر میگرده و توضیح همون یک دسته بندی رو نشون میده
    یادتون نره محل استفادش در فایل ارشیو مربوطه هست
    مثال :
    <div><?php echo category_description(3); ?></div>
    یا نمایش به همراه اسم دسته بندی :( مثال )

    <div><strong><?php single_cat_title('Currently browsing'); ?>
    </strong>: <?php echo category_description(); ?></div>
    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Morteza - Alikhobeh - بهروز ازند - Masx
  • NESTED

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۲۳۵۴
    تشکر شده: ۲۳۷۰ بار
    # نوشته شده: ۹ سال پیش
    ۲۷ بهمن ۱۳۹۰ - ۱۴:۱۳

    یادمه قبلا در مورد نحوه استفاده از تابع
    <?php the_excerpt(); ?>
    سوال شده بود که چگونه بجای سه نقطه موجود در کادر زیر
    [...]
    متن مورد نظر رو بنویسن
    خب با اضافه کردن تکه کد زیر به فایل functions.php قالبتون می تونید متن دلخواه خودتون رو درج کنید :

    <?php
    function new_excerpt_more($more) {
    return '<a href="'. get_permalink($post->ID) . '">' . '  [ ادامه مطلب ]' . '</a>';
    }
    add_filter('excerpt_more', 'new_excerpt_more');
    ?>

    و بجای متن ( ادامه مطلب ) متن دلخواهتون رو بنویسید

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Morteza - بهروز ازند - Ali72020 - Masx
  • NESTED

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۲۳۵۴
    تشکر شده: ۲۳۷۰ بار
    # نوشته شده: ۹ سال پیش
    ۲۷ بهمن ۱۳۹۰ - ۱۴:۳۶

    تصویر شاخص
    برای ایجاد باکس تصویر شاخص در قسمت افزودن نوشته در وردپرس ابتدا تکه کد زیر رو به فایل functions.php قالبتون اضافه کنید :

    <?php
    if ( function_exists( 'add_theme_support' ) ) {
    	add_theme_support( 'post-thumbnails' );
    	add_image_size( 'NESTED_thumb', 100, 100, true );
    }
    function NESTED_thumb_image(){
    if ( has_post_thumbnail() ) {
    	 the_post_thumbnail( 'NESTED_thumb', array('class' => 'test') );
    } else {
    };
    }
    ?>

    در کد بالا من برای نمایش تصویر شاخص از کلاس test استفاده کردم که شما می تونید کلاس مورد نظرتون رو بهش بدین
    سپس در فایل مورد نظر ، در جایی که مایل هستین تصویر شاخص نمایش داده شود تابع زیر را در div کلاس مربوطه درج کنید :
    <?php NESTED_thumb_image();?>
    خب کار تموم هست حالا با رفتن به قسمت افزودن نوشته و یا ایجاد برگه جدید می تونید در ستون سمت چپ باکس تصویر شاخص رو ببینید !!
    شما می تونید عرض و ارتفاع تصویر شاخص رو بجای اعداد 100, 100 بنا به دخلواه تغییر بدین

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Parsa - Morteza - Alikhobeh - بهروز ازند - Ali72020 - smp68 - mohamad_marashi - Masx
  • NESTED

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۲۳۵۴
    تشکر شده: ۲۳۷۰ بار
    # نوشته شده: ۹ سال پیش
    ۲۹ بهمن ۱۳۹۰ - ۰۰:۳۸

    ساخت لینک حذف پست :
    در اکثر قالبها در قسمت تکنوشته تابعی جهت ویرایش پست مربوطه درج شده ، حالا با قرار دادن چند خظ زیر به فایل functions.php قالبتون می تونید لینک حذف پست رو نیز ایجاد کنید !!!

    <?php
    function wp_delete_post_link($link = 'حذف پست', $before = '', $after = '')
    {
    	global $post;
    	if ( $post->post_type == 'page' ) {
    		if ( !current_user_can( 'edit_page', $post->ID ) )
    			return;
    	} else {
    		if ( !current_user_can( 'edit_post', $post->ID ) )
    			return;
    	}
    	$link = "<a href='" . wp_nonce_url( get_bloginfo('url') . "/wp-admin/post.php?action=delete&post=" . $post->ID, 'delete-post_' . $post->ID) . "'>".$link."</a>";
    	echo $before . $link . $after;
    }
    ?>

    در اخر تابع زیر رو در فایل مورنظرتون قرار بدین :
    <?php wp_delete_post_link('حذف این پست '); ?>

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Morteza - بهروز ازند - Mojtaba in96 - Masx

درباره‌ی این موضوع



برچسب‌ها

هیچ برچسبی نیست.