رفتن به مطلب

dark master

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

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

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

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

  1. اول این کد رو بزارید توی functions.php:


    function parsi_buffer_saver( $func, $param ) {
    ob_start();
    $func( $param );
    return ob_get_clean();
    }

    کد رو بهتر به آخر فایا اضافه کنید.

    سپس، در قسمتی که اطلاعات رو فراخوانی می‌کنید، به جای شیوه قبلی، به این صورت فراخوانی کنید، مثلاً برای ژانر:


    $genre = parsi_buffer_saver( 'imdbi', 'Genre' );
    echo ( $genre ) ? $genre : '-';

    به این صورت اگه ژانری برای فیلم نباشه، - نمایش داده میشه.

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

    موفق باشید.

    راستی قصد دارم از زمینه دلخ.اه هم کنر این کد برای فیلم هایی که اطلاعات imdb ندارن استفادهکنم، مشکلی پیش نمیاد؟

    ممنون امتحان یکنم حالا نمیشه کاری کرد که متن استایل display:none بگیره؟

  2. سلام

    چک کن اول ببین خروجی تابع هایی مثلا

    imdbi('Genre')

    چیه. اگه خروجی یک کاراکتر خالی یا ' ' نباشه و null یا '' باشه ... میتونی به جای اون دستور if که فقط تابع رو گذاشتی جاش، از تابع empty استفاده کنی که اگه خالی نبود، نمایش بده ! که در صورتی که خالی باشه نمایش نمیده ... اینطوری:

    if ( !empty ( imdbi ( 'Genre' ) ) ) { ..... }

    حالا اینو خودت تعمیم بده به بقیه if هایی که گذاشتی !

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

    .

    ویرایش برای مدیران عزیز انجمن:

    ادیتور چرا اینکارارو میکنه :


    imdbi('Genre')[/background][/size][/color]
    [color=#282828][size=2][background=rgb(248, 248, 248)]

    وقتی کد میزارم !!!!

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

    این کد نویسی که شما گفتید هم امتحان کرده بودم و بی تاثیر بود

  3. دوست عزیز چون فانکشن مقدار بازگشتی را echo می‌کند و استفاده از if برای این مورد کارساز نیست؛ درباره این مورد شما می‌تونید با نویسنده افزونه تماس بگیرید یا از Output Buffer استفاده کنید. موفق باشید.

    نمیشه حد اقل از استایل هاید براش استفاده کرد؟ چون اینجوری بی مصرف افزونه، یا حد اقل نمیشه اگه خالی بود یه - به جاش گذاشت؟؟

  4. سلام

    من از افزونه imdbi استفاده میکنم، حالا مشکلم اینه که وقتی برای فیلمی اطلاعاتی از imdb وجود نداشته باشه میخوام که کلماتی که مربوط به هر قسمت هست نمایش داده نشه، از کد زیر استفاده کردم اما بی تاثیره، لطفا راهنمایی کنید


    <ul class="imdb-info">
    <?php if( imdbi('imdbVotes') ) { ?><li><?php _e('Imdb Rating : ', ''); ?><?php imdbi('imdbRating'); ?>/10 <?php } ?><?php if( imdbi('imdbVotes') ) { ?><?php _e(' from ', 'record'); ?><span class="imdbVotes"><?php imdbi('imdbVotes'); ?></span></li><br><?php } ?>
    <li><?php if( imdbi('Metascore') ) { ?><?php _e('Metascore : ', ''); ?><?php imdbi('Metascore'); ?>/100<br><?php } ?></li>
    <li><?php if( imdbi('Released') ) { ?><?php _e('Released : ', ''); ?><?php imdbi('Released'); ?><br><?php } ?></li>
    <li><?php if( imdbi('Genre') ) { ?><?php _e('Genre : ', ''); ?><?php imdbi('Genre'); ?><br><?php } ?></li>
    <li><?php if( imdbi('Director') ) { ?><?php _e('Director(s) : ', ''); ?><?php imdbi('Director'); ?><br><?php } ?></li>
    <li><?php if( imdbi('Writer') ) { ?><?php _e('Writer(s) : ', ''); ?><?php imdbi('Writer'); ?><br><?php } ?></li>
    <li><?php if( imdbi('Stars') ) { ?><li style="line-height: 16px;"><?php _e('Stars : ', ''); ?><?php imdbi('Actors'); ?><br><?php } ?></li>
    <li><?php if( imdbi('Runtime') ) { ?><?php _e('Runtime : ', ''); ?><?php imdbi('Runtime'); ?><br><?php } ?></li>
    <li><?php if( imdbi('Country') ) { ?><?php _e('Country : ', ''); ?><?php imdbi('Country'); ?><br><?php } ?></li>
    <li><?php if(get_field('encoder') ) { ?><?php _e('Encoder : ', ''); ?><?php echo get_field('Encoder');?><br><?php } ?></li>
    <li style="line-height: 16px;"><?php if( imdbi('Awards') ) { ?><?php _e('Awards : ', ''); ?><?php imdbi('Awards'); ?><br><?php } ?></li>
    <li><?php if(get_field('plot') ) { ?><?php _e('Plot : ', ''); ?><?php echo get_field('plot');?><br><?php } ?></li>
    <li><?php if(get_field('add_info') ) { ?><?php echo get_field('add_info');?><br><?php } ?></li>
    </ul>
    <div class="clear"></div>
    </div>

  5. اره. اسمی که توی قسمت Post Type Name وارد کردید رو باید به جای film و serial بزارید.

    می تونید از این افزونه استفاده بکنید:


    https://wordpress.org/plugins/radio-buttons-for-taxonomies/

    من با همون افزونه ساخت پست تایپ یه پست تایپ ساختم بعدش اسم اصلی پست تایپو عوض کردم، اما به جای ویرایش ريا، یه پست تایپ جدید با ویرایشی که انجام داده بودم ساخته شد ... حالا میخوام پست تایپ قبلیو حذف کنم ... اما حذف نمیشه، اما پست تایپایی که ساختم حذف میشه الا این ...

    من بهتون افزونه pods رو پینشهاد میکنم امکاناتش هم خیلی زیاده :)

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

    در ضمن این امکان ایمپورت و اکسپورت هم داره که برای من که الان دارم روی لوکال تست میکنم خیلی مفیده چون بعدا میتونم راحت به هاست انتقال بدم

  6. میشه از دسته بندی های اصلی برای پست تایپ ها استفاده کرد. قسمت دوم سوال:
     http://premium.wpmudev.org/blog/add-custom-post-types-to-tags-and-categories-in-wordpress/?dsh=1&utm_expid=3606929-40.lszTaIEzTbifDhvhVdd39A.1&utm_referrer=http%3A%2F%2Flocalhost%2Fwordpress%2Fwp-admin%2Fadmin.php%3Fpage%3Dcptui_support 

    بله میشه. شما باید دوتا فایل به نام های single-film.php و single-serial.php بسازید و تغییرات دلخواه رو انجام بدید.

    این film . serial در اصل اسم پست تایپ هستن دیگه درسته؟ اگه اره اسمی که در زمان ساخت پست تایپ با این افزونه در کدوم قسمت وارد کردم رو باید به پسوند single تبدیل کنم؟

    با این افزونه تاکسونومی ساختم منتها تاکسونومی ها کاربردشون مثل برچسب ها شده، اما من میخوام مثل دسته بندی ها باشه ... باید چیکار کنم؟

    ترجیحا به شکل فایل پیوست و در زیر ادیتور

    post-3680-0-01466600-1435942490_thumb.pn

  7. 4. افزونه Advanced Custom Fields این امکان رو داره که زمینه ها رو برای یک پست تایپ خاص نمایش بدید.

    3. شما می تونید با استفاده از همین افزونه ای که بهتون معرفی کردم چند تاکسونومی با نام متفاوت ایجاد کنید و در قسمت Attach to post type پست تایپ مربوط

    به اون رو انتخاب کنید.

    2. این رو مطمئن نیستم که بخوام در موردش نظر بدم.

    در مورد دو گفتید مطمئن نیستید اما تا اونجایی که میدونید شدنی هست یا نه؟

    بعد میشه این پست تایپ هارو به فایل single جدا مرتبط کرد؟ چون من برای به فرض فیلم فقط از زمینه دلخ.اه استفاده میکنم و برای سریال از conetent... البته میتونم از یه کدی استفاده کنم که در صورت پربودن فیلد، content رو نمایش نده اما ترجیح میدم از چند single استفاده کنم تا استایل دادن اسونتر بشه چون چندین نوع پست هستنن

  8. سلام

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

    1. اگه امکان داره اموزشش رو بزارید

    2. میخوام بدونم وقتی پست تایپی ایجاد میشه دسته بندی ها به چه صورتن؟ دسته بندی جدا باید ایجاد بشه یا دسته بندی های اصلی هم در پست تایپ ها قابل استفادن؟ این امکان هست که مثلا همه دسته بندی هایی که زیر مجموعه دسته بندی فیلم هستن در پست تایپ فیلم و همه دسته بندی هایی که زیر مجموعه دسته بندی سریال هستن در پست تایپ سریال نمایش داده بشن؟ یعنی جدا از هم ...

    3. در مورد تاکسونومی هم میخوام برای کیفیت و شاید ژانر تاکسونومی ایجاد کنم ، اما میخوام جدا از هم باشه یعنی کیفیت و ژانر سریال و فیلم از هم جدا باشه تا در زمان سرچ کردن، نتایج از هر دو نباشه و فقط مربوط به فیلم یا سریال باشه

    4. برای زمینه دلخواه نیاز دارم که یکسری از زمینه های دلخواهی که در قسمت سریال هست ، در قسمت فیلم وجود نداشته باشه

    راهنمایی کنید لطفا ... پیشاپیش ممنون

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

    موفق باشید.

    درسته مشکل از همون ادرس اشتباه بود و الان اومدم بگم حلش کردم که دیدم شما این پستو گذاشتید ... قبلا از wamp نسخه قدیمی برای لوکال استفاده میکردم الان دارم از xamp استفاده میکنم و همین اختلاف ادرس به وجود اورده بود ، البته یک کد داخل فایل single بود که اونهم مشکل ایجاد میکرد و با برداشتنش حل شد

    به هر حال ممنون از همه

    • امتیاز 1
  10. این پیوند رو بررسی کنید

    خیلی ممنون از راهنمایی های شما، منتها یک راه اسونتر پیدا کردم که میشه چند فایل single.php ساخت که بر اساس دسته بندی لود بشن ، البته اینطور نیست که اموزشای شما مفید نباشن و خیلی ممنونم بابت وقت و اموزش ها .

    اموزشش رو میزارم برای کسانی که همچین نیازی دارن :

    ابتدا این چند فایل single.php ایجاد میکنیم و ای دی اونهارو بعد از single قرار میدیم :

    single-1.php

    single-2.php.

    .

    .

    .

    single-10.php

    بعد این کد رو در فایل single.php قرار میدیم ، :


    <?php post;
    if ( in_category('1') ) {
    include(TEMPLATEPATH . '/single-1.php'); }
    elseif ( in_category('3') ) {
    include(TEMPLATEPATH . '/single-3.php'); }
    elseif ( in_category('6') ) {
    include(TEMPLATEPATH . '/single-6.php'); }
    elseif ( in_category('456') ) {
    include(TEMPLATEPATH . '/single-456.php'); }
    else { include(TEMPLATEPATH . '/single-default.php'); } ?>

    دسته بندی هایی که فایل single براشون تعریف نشده، از فایل single-default.php استفاده میکنن

  11. سلام ، کد هایی که میخواین اضافه کنین باید با توجّه به قابلیّت پشتیبانی از ترجمه اضافه بشن.

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

    اینا کدایی هست که از قبل بوده و درتس کار میکنن:


    <div class="dl-box">
    <?php if( get_field('torrent_dl')):?>
    <div class="trnt-head"><h3><?php _e('Torrent Download', 'record'); ?></h3><div class="torrent"><?php echo get_field('torrent_dl');?></div></div>
    <div class="dl-head"><h3><?php _e('Download With Mirror link(s)', 'record'); ?></h3><div class="dl-link"><?php echo get_field('download_link');?></div></div>
    <?php endif;?>
    </div>
    <div class="related">
    <h6><?php _e('related post', 'record'); ?></h6>

    اینم کدای جدید که فراخوانی نمیشن:


    <li><?php _e('Imdb Rating : ', 'record'); ?><?php imdbi('imdbRating'); ?>/10 <?php _e(' from ', 'record'); ?><span class="imdbVotes"><?php imdbi('imdbVotes'); ?></span></li><br>
    <li><?php _e('Metascore : ', 'record'); ?><?php imdbi('Metascore'); ?>/100</li><br>
    <li><?php _e('Released : ', 'record'); ?><?php imdbi('Released'); ?></li><br>
    <li><?php _e('Genre : ', 'record'); ?><?php imdbi('Genre'); ?></li><br>
    <li><?php _e('Director(s) : ', 'record'); ?><?php imdbi('Director'); ?></li><br>
    <li><?php _e('Writer(s) : ', 'record'); ?><?php imdbi('Writer'); ?></li><br>
    <li style="line-height: 16px;"><?php _e('Stars : ', 'record'); ?><?php imdbi('Actors'); ?></li><br>
    <li><?php _e('Runtime : ', 'record'); ?><?php imdbi('Runtime'); ?></li><br>
    <li><?php _e('Country : ', 'record'); ?><?php imdbi('Country'); ?></li><br>
    <li><?php if(get_field('encoder') ) { ?><?php _e('Encoder : ', 'record'); ?><?php echo get_field('Encoder');?><br><?php } ?></li>
    <li style="line-height: 16px;"><?php _e('Awards : ', 'record'); ?><?php imdbi('Awards'); ?></li><br>

    در ضمن کد های دیگه ای هم در فایل های comment.php وامتحان کردم بازم همین مشکل بود

  12. چیزی که شما خواسته بودید این بود که برای سه نوع مطلب متفاوت سه نوع استایل داشته باشید

    برای این‌کار می‌تونید بر اساس دسته‌بندی اقدام کنید مثلا دسته فیلم، دسته عکس و دسته صوت

    بر این اساس شما شرط تعریف می‌کنید که اگر دسته فیلم بود این کلاس به body اضافه بشه و اگر ...

    اگر این روش رو انتخاب کنید، از این طریق می‌بایست اقدام بشه

    اول

    کد body داخل قالبتون رو به کد زیر تغییر بدید


    <body <?php body_class( $class ); ?>>

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

    بعد برای اینکه بر اساس هر دسته نامک (slug) اون دسته به تگ body اضافه بشه کد زیر رو می‌بایست به قالب‌تون اضافه کنید


    // add category nicenames in body and post class
    function category_id_class( $classes ) {
    global $post;
    foreach ( get_the_category( $post->ID ) as $category ) {
    $classes[] = $category->category_nicename;
    }
    return $classes;
    }
    add_filter( 'post_class', 'category_id_class' );
    add_filter( 'body_class', 'category_id_class' );

    حالا می‌تونید بر اساس هر دسته استایل مورد نظرتون رو اعمال کنید

    اگر دسته فیلم بود استایل بر اساس کلاس body.film تعریف میشه و همین‌طور باقی موارد

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

    به این ترتیب که برای تگ body شرط تعریف می‌کنیم که اگر زمینه دلخواه فیلم فعال شده بود کلاس film رو به body اضافه کنه

    مثلا:


    <body class="<?php $film = get_post_meta( get_the_ID() ); if( isset( $film ) && !empty( $film ) ) { echo "film"; } ?>">

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

    روش سوم هم این هست که این کار رو بر اساس پست تایپ انجام بدید ...

    من میخوام که علاوه بر استایل، کد نویسی هم تغییر کنه، مثلا برای فیلم میخوام که اصلا فایل content وجود نداشته باشه، حالا میخواستم ببینم که میشه سه تا فایل single.php ساخت و بر اساس دسته بندی مطلب، یکی از این single ها که مربوط به اون دسته مثلا فیلم هست لود بشه، ممنون برای توضیحاتت اما در خواست من اینه

    این فایل single هست :


    <div id="content">
    <?php if(have_posts()): ?><?php while(have_posts()):the_post(); ?>
    <div class="post">
    <div class="post-title">
    <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>

    </div>
    <div class="content">
    <div class="postmetadt">
    <ul>
    <li class="author"><?php the_author() ?></li>
    <li class="date"><?php the_time(__('F j Y','')) ?></li>
    <li class="rate"></li>
    </ul>
    <div class="rate"><?php if(function_exists('the_ratings')) { the_ratings(); } ?></div>
    </div>
    <?php the_content(''); ?></div>


    </div>
    <div class="tags"><h3><?php the_tags( __('Tags: ','')); ?></h3></div>
    <?php endwhile; ?>
    <?php else: ?>
    <?php endif; ?>


    <div class="mt-info">
    <figure class="mt-poster"><?php imdbi('poster',True); ?></figure>
    <ul class="imdb-info">
    <li><?php
    if ( get_field('imdb_link') ) {
    echo '
    <a href=' . get_field('imdb_link') . ' " target="_blank">IMDB</a>
    ';
    }
    ?>
    </li><br>
    <li><?php if(get_field('quality') ) { ?><?php _e('Quality : ', ''); ?><?php echo get_field('quality');?><br><?php } ?></li>
    <li><?php _e('Imdb Rating : ', ''); ?><?php imdbi('imdbRating'); ?>/10 <?php _e(' from ', ''); ?><span class="imdbVotes"><?php imdbi('imdbVotes'); ?></span></li><br>
    <li><?php _e('Metascore : ', ''); ?><?php imdbi('Metascore'); ?>/100</li><br>
    <li><?php _e('Released : ', ''); ?><?php imdbi('Released'); ?></li><br>
    <li><?php _e('Genre : ', ''); ?><?php imdbi('Genre'); ?></li><br>
    <li><?php _e('Director(s) : ', ''); ?><?php imdbi('Director'); ?></li><br>
    <li><?php _e('Writer(s) : ', ''); ?><?php imdbi('Writer'); ?></li><br>
    <li style="line-height: 16px;"><?php _e('Stars : ', ''); ?><?php imdbi('Actors'); ?></li><br>
    <li><?php _e('Runtime : ', ''); ?><?php imdbi('Runtime'); ?></li><br>
    <li><?php _e('Country : ', ''); ?><?php imdbi('Country'); ?></li><br>
    <li><?php if(get_field('encoder') ) { ?><?php _e('Encoder : ', ''); ?><?php echo get_field('Encoder');?><br><?php } ?></li>
    <li style="line-height: 16px;"><?php _e('Awards : ', ''); ?><?php imdbi('Awards'); ?></li><br>
    <li><?php if(get_field('plot') ) { ?><?php _e('Plot : ', ''); ?><?php echo get_field('plot');?><br><?php } ?></li>
    <li><?php echo get_field('add_info');?></li><br>
    </ul>
    <div class="clear"></div>
    </div>
    <div class="dl-box">
    <?php if( get_field('torrent_dl')):?>
    <div class="trnt-head"><h3><?php _e('Torrent Download', ''); ?></h3><div class="torrent"><?php echo get_field('torrent_dl');?></div></div>
    <div class="dl-head"><h3><?php _e('Download With Mirror link(s)', ''); ?></h3><div class="dl-link"><?php echo get_field('download_link');?></div></div>
    <?php endif;?>
    </div>
    <?php
    $tags = wp_get_post_tags($post->ID);
    if ($tags) {
    $first_tag = $tags[0]->term_id;
    $args=array(
    'tag__in' => array($first_tag),
    'post__not_in' => array($post->ID),
    'showposts'=>5,
    'caller_get_posts'=>1
    );

    $rel_posts = new WP_Query($args);
    if( $rel_posts->have_posts() ) {
    while ($rel_posts->have_posts()) : $rel_posts->the_post(); ?>

    <div class="rel_posts">
    <div class="rel_thumb"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
    <?php
    if ( has_post_thumbnail() ){
    $src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full' );
    $thumbnailsrc= $src[0];
    $params = array( 'width' => 119 ,'height' => 160, 'crop' => true );
    ?>
    <img src="<?php echo bfi_thumb( $thumbnailsrc , $params ) ?>" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" width="119" height="160" />
    <?php } else { ?>
    <img src="<?php bloginfo('template_directory'); ?>/images/df-tumbnail.png" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" width="119" height="160" />
    <?php }?></a><span class="rel_link"><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></span></div>
    </div>
    <?php
    endwhile;
    }
    }
    ?></div>

    <div class="clear"></div>

    <div class="comments-template">
    <?php comments_template(); ?>
    </div>

    </div>


    <div class="clear"></div>

  13. این کد ها اگه اشتباه نکنم برای ایجاد چند فایل single و نمایش اون ها بر اساس دسته بندیه درسته؟

    من متوجه نشدم باید چیکار کنم، اگه میشه یه راهنمایی خودت بکن ... در ضمن این راهی که مد نظرم هست اصولی تره یا استفاده از پست تایپ؟

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

  14. سلام

    برای دسته‌ها و پست‌ تایپ‌ها هم میشه اینکار رو انجام داد

    برای نمونه پست‌تایپ نمونه قالب خود وردپرس رو بررسی کنید این قابلیت مد نظرتون رو داره

    منظورتون رو درست متوجه نشدم ، منظورم اینه که کاری که خواستم رو به وسیله پست تایپ یا ترجیحا براساس دسته بندی میشه انجام داد؟ مثلا دو تا فایل single دیگه ساخته بشه و بر اساس دسته بندی برای هر پست، یکی از این سینگل ها لود بشه و در اصل single هاس متفاوت برای دسته بندی های مختلف ایجاد بشه... اگه شدنی هست روشش رو لطفا بگید

  15. سلام

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

    نمیشه بر اساس دسته بندی اینکارو کرد؟ یا پست تایپ؟ همین روشی که شما گفتید چطوریه؟ چه کد هایی میخواد؟

  16. سلام

    اگه اشتباه نکنم این امکان برای وردپرس هست که بشه برای مطالب متفاوت نحوه نمایش پست ها و استایل بندیشون رو تغییر داد

    در اصل در قhلبم سه نوع پست مد نظر دارم ... یکیش همون حالت عادی فایل single هست، دو حالت دیگه زمینه های دلخواهی هستن که میخوام جای content پست نمایش داده بشن که البته دو نوع متفاوت از هم هستن ... چطوری میشه اینکارو کرد؟

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