unid_user

post type
نمایش آخرین مطلب یک post type خاص

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

ارسال شده در (ویرایش شده)

درود

دوستان گرامی، من میخوام که آخرین مطلب از یک پست تایپ خاص رو در بخشی از قالب سایتم نمایش بدم. کسی میتونه کمک کنه؟

من از کد زیر استفاده میکنم اما این کد تمام پست ها رو نشون میده من فقط می خوام آخرین رو نشون بده.

<section class="info">
        <?php
                      $package = new wp_Query(array(
                        'post_type' => 'packages',
                      ));

                      while($package->have_posts()): $package->the_post(); ?>
        <?php the_post_thumbnail(); ?>
        <div>
          <h2><?php the_title(); ?></h2>
          <p>
            <?php the_excerpt(); ?>
          </p>
          <a href="<?php the_permalink(); ?>" class="btn">مطالعه بیشتر</a>
        </div>
        <?php endwhile; ?>
      </section>

ممنون و سپاسگذار.

ویرایش شده در توسط unid_user
0

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


لینک به پست

پیدا کردم. باید آرگومان زیر رو به کوئری پست تایپ اضافه می کردم.

'posts_per_page' =>'1'

 

1

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


لینک به پست

سلام و درود

یه نکته جالب! وقتی که این کد رو اضافه کنید همیشه آخرین پست رو نمایش میده اگه بخواهید که فقط یک پست مشخص از پست تایپ هاتون رو نشون بده میتونید آرگومان page_id رو به کوئری تون اضافه کنید. از این روش میتونید برای ساخت پست ثابت هم استفاده کنید و هر موقع که خواستید میتونید با تغییر id پست ثابت رو عوض کنید.

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

1

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


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

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

سلام و درود

 

page_id هم کار میکنه ولی معمولا وقتی پارامتر post_type برابر با page هست باید از پارامتر page_id استفاده بشه در غیر اینصورت پارامتر p با مقدار آیدی پست مورد نظر استفاده میشه.

 

موفق باشید

1

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


لینک به پست
در 11 ساعت قبل، mehran-be گفته است :

page_id هم کار میکنه ولی معمولا وقتی پارامتر post_type برابر با page هست

وقت بخیر.

منظورتون رو از این عبارت متوجه نشدم. یعنی اینکه مگه خودمون تعیین میکنیم که post_type برابر page باشه یا هر چیز دیگه ای. ممنون میشم ضمن توضیح مختر اگه بحث مفصلی هست لینک انگلیسی یا اگه نبود فارسی رو به اشتراک بزارید.

سپاس

0

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


لینک به پست
در 10 ساعت قبل، unid_user گفته است :

منظورتون رو از این عبارت متوجه نشدم. یعنی اینکه مگه خودمون تعیین میکنیم که post_type برابر page باشه یا هر چیز دیگه ای. ممنون میشم ضمن توضیح مختر اگه بحث مفصلی هست لینک انگلیسی یا اگه نبود فارسی رو به اشتراک بزارید.

بله دیگه شما وقتی میخوای مقدار دهی کنی WP_Query رو خودت میگی مثلا post_type برابر باشه با packages حالا میشه بگی برابر باشه با page چون خود بخش برگه های وردپرس هم یه پست تایپه برای خودش. در نتیجه زمان هایی که

'post_type' => 'page'

باشه معمولا پارامتر

'page_id' => آیدی برگه

استفاده میشه در سایر پست تایپ ها از پارامتر

'p' => آیدی پست

استفاده میکنند.

1

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط sindots
      سلام
      یه کد میخوام که بتونم آخرین مطالب یک دسته بندی در پست تایپی خاص رو در هر جای وبسایت نمایش بدم
      پیشاپیش ممنون از راهنماییتون
    • توسط maraljoon
      سلام دوستان. وقتتون بخیر باشه.
      یه مشکلی با پست تایپ ها دارم که به هیچ صراطی مستقیم نیستن.
      من 2 پست تایپ ساختم. هردو به خوبی کار میکنن. ولی مشکل اینجاست که فقط در پست تایپ اولی ادامه مطلب و آرشیو دسته بندی ها نمایش داده میشه و کار میکنه. ولی برای پست تایپ دوم به همون روش قبلی سینگل و آرشیو میسازم.
      وقتی رو مطالبی که با پست تایپ دوم ساختم کلیک میکنم به برگه 404 میرسه. تو بخش آرشیو دسته بندی هاشم همینطوره.
      نمیدونم این مشکل از کجا آب میخوره..
      ممنون میشم کمکم کنید
    • توسط mam1371
      سلام دوستان کدی دارم که برای نوشته ها کار میکنه ولی برای پست تایپ هام کار نمیکنه کسی می تونه بگه کجاشو باید ویرایش کنم ؟
      <?php add_action("admin_init", "posts_init"); function posts_init(){ add_meta_box("post_options", "تنظیمات برای این پست", "post_options", "post", "normal", "high"); } function post_options(){ global $post ; $get_meta = get_post_custom($post->ID); wp_nonce_field( 'my_meta_box_nonce', 'meta_box_nonce' ); ?> <div class="pasargad-content"> <div class="pasargad-title"><h3>اطلاعات پست</h3></div> <div class="ps-padding"> <div class="pasargad-help"><div class="help"> برای وارد کردن لینک های خود از فهرست نقطه دار استفاده کنید. </div></div> <?php pasargad_post_options(array( "name" => "لینک های دانلود", "id" => "downloads", "type" => "wpeditor" )); ?> <div class="panel-item-divider"></div> <?php pasargad_post_options(array( "name" => "فرمت فایل", "id" => "format", "type" => "text" )); pasargad_post_options(array( "name" => "حجم فایل", "id" => "mb", "type" => "text" )); pasargad_post_options(array( "name" => "نسخه ی فایل", "id" => "ver", "type" => "text" )); pasargad_post_options(array( "name" => "اندروید مورد نیاز", "id" => "and", "type" => "text" )); ?> <div class="panel-item-divider"></div> <?php pasargad_post_options(array( "name" => "راهنمایی ها", "id" => "help", "type" => "wpeditor" )); ?> </div> </div> <!---------- //END ----------> <input type="hidden" name="pasargad_post_save" value="true"> <?php } add_action('save_post', 'save_post'); function save_post( $post_id ){ global $post; if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) return $post_id; if (isset($_POST['pasargad_post_save'])) { $custom_meta_fields = array( 'downloads', 'and', 'ver', 'format', 'mb', 'help', ); foreach( $custom_meta_fields as $custom_meta_field ){ if(!empty($_POST[$custom_meta_field]) ) update_post_meta($post_id, $custom_meta_field, $_POST[$custom_meta_field]) ; else delete_post_meta($post_id, $custom_meta_field); } } } /*********************************************************/ function pasargad_post_options($value){ global $post; ?> <div class="meta-option-item" id="<?php echo $value['id'] ?>-item"> <span><?php echo $value['name']; ?></span> <?php $id = $value['id']; $get_meta = get_post_meta($post->ID); if( isset( $get_meta[$id][0] ) ) $current_value = htmlspecialchars_decode($get_meta[$id][0]); switch ( $value['type'] ) { //============================= // @ Text //============================= case 'text': ?> <input name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" type="text" value="<?php echo $current_value ?>" /> <?php break; //============================= // @ Checkbox //============================= case 'checkbox': if( !empty( $current_value ) ){$checked = "checked=\"checked\""; } else{$checked = "";} ?> <div class="checkbox-wrapper" style="float:left;"> <input class="toggleswitch-big" type="checkbox" name="<?php echo $value['id'] ?>" id="<?php echo $value['id']; ?>" <?php echo $checked; ?> /> </div> <?php break; //============================= // @ Select //============================= case 'select': ?> <select name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>"> <?php foreach ($value['options'] as $key => $option) { ?> <option value="<?php echo $key ?>" <?php if ( $current_value == $key) { echo ' selected="selected"' ; } ?>><?php echo $option; ?></option> <?php } ?> </select> <?php break; //============================= // @ Textarea //============================= case 'textarea': ?> <textarea style="direction:ltr; text-align:left; height:136px;" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" type="textarea" cols="100%" rows="3" tabindex="4"><?php echo $current_value ?></textarea> <?php break; //============================= // @ Editor //============================= case "wpeditor":?> <?php $settings = array( 'textarea_name' => $value['id'], 'quicktags' => array( 'buttons' => 'em,strong,link' ), 'tinymce' => true, 'media_buttons' => false, 'teeny' => true ); wp_editor( $current_value , $value['id'], $settings ); ?> <?php break; } ?> </div> <?php } ?>  
    • توسط unid_user
      درود
      دوستان برای نمایش پست تایپ post type با آی دی مشخص روشی وجود داره؟ 3 ساعته وقت گذاشتم کلی هم سرچ کردم اما به نتیجه نرسیدم. کدهام به صورت زیر هست چه روشی وجود داره؟
      ممنون
      داخل قالب سایت کدهای زیر رو وارد کردم:
      <?php $slider = new WP_Query(array( 'post_type' => 'slider', )); while($slider->have_posts()) : $slider->the_post(); ?> <?php endwhile; ?> <div class="bg-border"> <div class="col-lg-6"> <div class="text-left img-border img-left"> <?php the_post_thumbnail(); ?> </div> </div> <div class="col-lg-6"> <div class="text-right text-border p-left"> <h4><?php the_title(); ?></h4> <?php the_content(); ?> </div> </div> </div>  
    • توسط unid_user
      سلام دوستان
      من میخوام که یه اسلایدر با post type در وردپرس ایجاد کنم. قبلا اینکار و برای اسلایدر صفحه اصلی سایتم انجام دادم ولی میخوام هربار و هرکجا خواستم یه اسلایدر ایجاد کنم و بدون نیاز به دست بردن در کدنویسی قالب بتونم مثلا با شورت کد short code اسلایدرهای مختلف رو به پست ها و مطالبم اضافه کنم.
      اگه منبعی هم سراغ دارید ممنون میشم فارسی یا انگلیسی راستش خودم نمیدونم باید چی و توی اینترنت سرچ کنم!؟
      ممنون.