webbarg 46 ارسال شده در مرداد 93 گزارش بازنشر ارسال شده در مرداد 93 سلام و حسته نباشید .من توی فایل category.php می خوام مقادیری از پست هام را فراخانی کنم که یک زمینه خاص مثلا زمینه دلخواه " wordpress " را داشته باشه به تعداد 10 تا فراخوانی کنم و اولین پست را نشون نده ، البته می خوام این توی شرایطی باشه که هر دسته بندی مطالب خواص خود که زمینه دلخواه " wordpress " به اون مطلب قلاب شده را نشون بده .برای این کار کد زیر را نوشتم : <?php query_posts('meta_key=wordpress&showposts=10&offset=1'); if (have_posts()) : while (have_posts()) : the_post(); ?> <p><?php the_excerpt(); ?></p> <?php endwhile; endif; wp_reset_query(); ?>مشکل این کوئری این هست که توی همه دسته ها زمینه دلخواه " wordpress " را بدون در نظر گرفتن دسته ای که توش هست نمایش میده .یعنی اگه 4 تا دسته داشته باشیم که که مطالب هر دسته متفاوت باشه هم فرقی ندارد و همه دسته ها یک سان بر اساس زمینه دلخواه " wordpress " لود میشه .اگه بخواهم به کوئری cat=namber id اضافه کنم باید برای هر دسته یک فایل category.php اضافه کنم که نمی خوام این کار را کنم .برای همین اومدم و یک کوئری جدید گرفتم :<?php $myquery= new WP_Query( array( 'posts_per_page' => '10' , 'meta_key' => 'wordpress', 'offset' => 1 ));while ( $myquery->have_posts() ) : $myquery->the_post()?> <p><?php the_excerpt(); ?></p><?php endwhile; wp_reset_query(); ?>این کوئری هم دقیقا همیون مشکل را داشت .برای همین این کوئری را نوشتم : <?php $args = array( 'meta_key' => 'wordpress' ); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <p><?php the_excerpt(); ?></p> <?php endwhile; endif; wp_reset_query(); ?>اینجا مشکل نمایش دسته ها را نداره و مطالب هر دسته درست ایجاد میشه اما 2 مورد دیگه را نا دیده میگیره یعنی offset را اجرا نمی کنه و تعداد نمایش مطلب را که هم با posts_per_page و showposts قرار دادم را عمل نمی کنه و نصب به تنظیمات نمایش مطلب نمایش میده .البته هر 2 مورد را هم مخلوط کردم ولی باز هم مشکل اول بود .بیش از این به زهنم چیزی نرسید که چه روشی و چه کاری انجام بدم .ممنون میشم دوستان راهنمایی کنند یا قطعه کدی در اختیارم بزارند . نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در مرداد 93 گزارش بازنشر ارسال شده در مرداد 93 این کوئری دسته بندی را از صفحه ی جاری می خونه <?php $custom_query = new WP_Query(array('post_status' =>'published','post_type' =>'post','meta_key' => 'wordpress','order' =>'DESC','orderby' =>'ID','offset' => '1','posts_per_page' =>'6','paged' => (get_query_var('paged')) ? get_query_var('paged') : 1));if($custom_query->have_posts()) :while($custom_query->have_posts()) : $custom_query->the_post();?>البته جاش هم مهمه باید بعد از if(have_posts()) :حلقه اصلی و قبل از endif;مربوط به همون شرط ساخته بشه 3 نقل قول لینک به ارسال
webbarg 46 ارسال شده در مرداد 93 مالک گزارش بازنشر ارسال شده در مرداد 93 سلام و تشکر فراوان استاد فخار عزیز .کوئری اینجوری شد ولی همه چیز خوبه ولی باز هم مشکل نمایش در دسته بندی ها هست .<?php if (have_posts())$custom_query = new WP_Query(array('post_status' =>'published','post_type' =>'post','meta_key' => 'wordpress','order' =>'DESC','orderby' =>'ID','offset' => '1','posts_per_page' =>'6','paged' => (get_query_var('paged')) ? get_query_var('paged') : 1));if($custom_query->have_posts()) :while($custom_query->have_posts()) : $custom_query->the_post();?> <p><?php the_excerpt(); ?></p> <?php endwhile; else: ?><?php endif; ?>هر چی توی codex وردپرس گشتم چیزی پیدا نکردم که برای cat قرار بدم و id همون دسته فعال را نشون بده . نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در مرداد 93 گزارش بازنشر ارسال شده در مرداد 93 نیازی نیست من کوئری را تست کردم درست کار می کنه شما باید 1. به محلی که کوئری را گذاشتید توجه کنید 2. به ریست شدن همه کوئری های قبلیش 1 نقل قول لینک به ارسال
webbarg 46 ارسال شده در مرداد 93 مالک گزارش بازنشر ارسال شده در مرداد 93 سلام مجدد .من از این کوئری برای حلقه لود توی دسته بندی ها استفاده کردم .قبلش که سربرگ لود میشه و هیچ حلقه ای توش نیست بعدش هم پانوشت هست. نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در مرداد 93 گزارش بازنشر ارسال شده در مرداد 93 اگر کوئریتون دقیقا اینجوریهif (have_posts())$custom_query = new WP_Query(array('post_status' =>'published','post_type' =>'post','meta_key' => 'wordpress','order' =>'DESC','orderby' =>'ID','offset' => '1','posts_per_page' =>'6','paged' => (get_query_var('paged')) ? get_query_var('paged') : 1));if($custom_query->have_posts()) :while($custom_query->have_posts()) : $custom_query->the_post();?><p><?php the_excerpt(); ?></p><?php endwhile; else: ?><?php endif; ?>تبدیلش کنید بهif (have_posts()) :$custom_query = new WP_Query(array('post_status' =>'published','post_type' =>'post','meta_key' => 'wordpress','order' =>'DESC','orderby' =>'ID','offset' => '1','posts_per_page' =>'6','paged' => (get_query_var('paged')) ? get_query_var('paged') : 1));if($custom_query->have_posts()) :while($custom_query->have_posts()) : $custom_query->the_post();?><p><?php the_excerpt(); ?></p><?php endwhile; else: ?><?php endif; ?>و در انتهای صفحه (نقطه قرینه if(have_post()) در صفحه ) هم <?php endif;?>اضافه کنیداگر جواب نگرفتیداین روش گرفتن آی دی دسته بندی جاری است$cats = strip_tags( get_the_category_list( ',' ) );$cats = explode( ',', $cats );if( !empty( $cats ) ){$cat_ids = array();foreach ( $cats as $cat ) {$term_data = get_term_by( 'name', $cat, 'category' );$cat_ids[] = $term_data->term_id;}}//print_r($cat_ids);$cats = implode( ',', $cat_ids );و در کوئری هم بجای cat =>بگذارید'category__and' => $cat_id, 4 نقل قول لینک به ارسال
mahdi.a 432 ارسال شده در اردیبهشت 94 گزارش بازنشر ارسال شده در اردیبهشت 94 سلام اقا ایمان .من میخوام کاری کنم شبیه کار همین بنده خدا ولی نه به این سختی !!!من میخوام 6 مطلب اخری که یک زمینه دلخواهی به عنوان مثال "hot-post" رو دارند، نمایش بدم. از ژنراتور هم کوئری گرفتم و درست اجرا میشه ولی یک مشکل داره، مشکلش اینه من الان دارم از افزونه acf برای زمینه های دلخواه استفاده میکنم، یعنی این شرط بدون اینکه مقداری داشته باشه اجرا میشه !!! من میخوام جوری باشه که وقتی زمینه دلخواهی که به عنوان مثال اگر چک باکسش تیک خورد این شرط براش اجرا بشه نه فقط اینکه اگر این پست زمینه رو داشت اجرا بشه، به شرطی که زمینه مقدار داشته باشه و چک باکسش تیک خورده باشه شرط اجرا بشه.ممنون و تشکر 1 نقل قول لینک به ارسال
webbarg 46 ارسال شده در اردیبهشت 94 مالک گزارش بازنشر ارسال شده در اردیبهشت 94 می تونی از مقدار زمینه دلخواه کوئری بگیری البته به این شرط که همیشه ثابت باشه .یعنی مقدار زمینه "hot-post" فقط "yes" باشه و مقدار های این نباشه را نشون نمی ده .<?php $my_query = new WP_Query('meta_key=hot-post&meta_value=yes&showposts=6'); while ($my_query->have_posts()): $my_query->the_post(); $do_not_duplicate = $post->ID;?> محتوا <?php endwhile; ?>این کوئری 6 تا از اخرین مطالبی که زمینه دلخواه "hot-post" را با مقدار "yes" داشته باشه نشون میده .سلام اقا ایمان .من میخوام کاری کنم شبیه کار همین بنده خدا ولی نه به این سختی !!!من میخوام 6 مطلب اخری که یک زمینه دلخواهی به عنوان مثال "hot-post" رو دارند، نمایش بدم. از ژنراتور هم کوئری گرفتم و درست اجرا میشه ولی یک مشکل داره، مشکلش اینه من الان دارم از افزونه acf برای زمینه های دلخواه استفاده میکنم، یعنی این شرط بدون اینکه مقداری داشته باشه اجرا میشه !!! من میخوام جوری باشه که وقتی زمینه دلخواهی که به عنوان مثال اگر چک باکسش تیک خورد این شرط براش اجرا بشه نه فقط اینکه اگر این پست زمینه رو داشت اجرا بشه، به شرطی که زمینه مقدار داشته باشه و چک باکسش تیک خورده باشه شرط اجرا بشه.ممنون و تشکرسلام اقا ایمان .من میخوام کاری کنم شبیه کار همین بنده خدا ولی نه به این سختی !!!من میخوام 6 مطلب اخری که یک زمینه دلخواهی به عنوان مثال "hot-post" رو دارند، نمایش بدم. از ژنراتور هم کوئری گرفتم و درست اجرا میشه ولی یک مشکل داره، مشکلش اینه من الان دارم از افزونه acf برای زمینه های دلخواه استفاده میکنم، یعنی این شرط بدون اینکه مقداری داشته باشه اجرا میشه !!! من میخوام جوری باشه که وقتی زمینه دلخواهی که به عنوان مثال اگر چک باکسش تیک خورد این شرط براش اجرا بشه نه فقط اینکه اگر این پست زمینه رو داشت اجرا بشه، به شرطی که زمینه مقدار داشته باشه و چک باکسش تیک خورده باشه شرط اجرا بشه.ممنون و تشکرمی تونی از مقدار زمینه دلخواه کوئری بگیری البته به این شرط که همیشه ثابت باشه .یعنی مقدار زمینه "hot-post" فقط "yes" باشه و مقدار های این نباشه را نشون نمی ده .<?php $my_query = new WP_Query('meta_key=hot-post&meta_value=yes&showposts=6'); while ($my_query->have_posts()): $my_query->the_post(); $do_not_duplicate = $post->ID;?>محتوا<?php endwhile; ?>این کوئری 6 تا از اخرین مطالبی که زمینه دلخواه "hot-post" را با مقدار "yes" داشته باشه نشون میده . 1 نقل قول لینک به ارسال
mahdi.a 432 ارسال شده در اردیبهشت 94 گزارش بازنشر ارسال شده در اردیبهشت 94 اخه مشکل همینه که منم اینکارو انجام دادم ولی نشد، من با افزونه acf زمینه دلخواهی به نام پیشنهاد دانلود ساختم، و یک چکباکس براش تعریف کردم به نام yes ، و کد شما رو هم باز تست کردم ولی نشد !!!مشکل حل شد دوست عزیز ...با تغییر زمینه دلخواه از چک باکس به دراپ باکس، و کوئری شما مشکل حل شد.مرسی از شما ... نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .