miraziz 26 ارسال شده در تیر 97 گزارش بازنشر ارسال شده در تیر 97 از سلام. دوستان من از کد زیر برای نمایش عنوان آخرین دسته و نیز عکسی که توسط افزونه ای برای آن دسته انتخاب کرده ام استفاده می کند.(مانند عکس پیوست شده) <?php echo mehran_get_post_last_child_image(get_the_ID()); ?> <?php child_cat (get_the_ID(), 'poetname', [1261]); ?> <h2 class="post-title"><a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2> و کد زیر را که در اینترنت یافتم به حالتی خیلی ساده پست های تصادفی را تا 4 عدد نشان میدهد <ul> <?php $recent = new WP_Query("orderby=rand&showposts=4"); while($recent->have_posts()) : $recent->the_post();?> <li><a alt="<?php the_title(); ?>" title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a></li> <?php endwhile; ?> </ul> حالا من می خواستم که در کنار پست های تصادفی مانند کد اول نام آخرین دسته (نام شاعر) و تصویر آن دسته را هم نمایش دهم. خیلی ممنون می شوم اگر راهنمایی ام کنید. نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در تیر 97 گزارش بازنشر ارسال شده در تیر 97 سلام و درود @miraziz اون تابع child_cat بدنه تابعش چیه کداش؟ 1 نقل قول لینک به ارسال
miraziz 26 ارسال شده در تیر 97 مالک گزارش بازنشر ارسال شده در تیر 97 در 4 دقیقه قبل، mehran-b گفته است : سلام و درود @miraziz اون تابع child_cat بدنه تابعش چیه کداش؟ سلام آقا مهران. همین کدها را هم شما برام ویرایش کرده بودین. اگر اشتباه نکنم باید کدهای زیر باشه. درسته function mehran_get_post_last_child_image($post_id) { $cats = get_the_category($post_id); $childs = array(); foreach($cats as $cat) { if($cat->category_parent !== 0) $childs[] = $cat->cat_ID; } if($childs === array()) return; $last_child = max($childs); $images = get_option('taxonomy_image_plugin'); $img_tag = wp_get_attachment_image($images[$last_child], 'thumbnail', false, array('class' => 'mehran')); if($img_tag === "") return; return '<a href="'.esc_url(get_category_link($last_child)).'">'.$img_tag.'</a>'; } نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در تیر 97 گزارش بازنشر ارسال شده در تیر 97 در 5 دقیقه قبل، miraziz گفته است : سلام آقا مهران. همین کدها را هم شما برام ویرایش کرده بودین. اگر اشتباه نکنم باید کدهای زیر باشه. درسته بله این تابع رو که خودم نوشتم تابع child_cat رو بدنش رو یادم نیست. 1 نقل قول لینک به ارسال
miraziz 26 ارسال شده در تیر 97 مالک گزارش بازنشر ارسال شده در تیر 97 در 1 دقیقه قبل، mehran-b گفته است : بله این تابع رو که خودم نوشتم تابع child_cat رو بندش رو یادم نیست. این هست؟ function child_cat ($pid, $class_name, $exclude) { $cat_arr = wp_get_post_categories ($pid); $child_id = max ($cat_arr); if ($exclude) if (in_array($child_id, $exclude)) return; $child_name = get_the_category_by_ID ($child_id); $child_link = get_category_link ($child_id); if ($class_name) echo '<a href="'. $child_link .'" class="'. $class_name .'" rel="category tag">'. $child_name .'</a>'; else echo '<a href="'. $child_link .'" rel="category tag">'. $child_name .'</a>'; } نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در تیر 97 گزارش بازنشر ارسال شده در تیر 97 در 1 دقیقه قبل، miraziz گفته است : این هست؟ درسته الان یادم اومد ماجراش چی بود. جای اون حلقه تصادفیتون یعنی این: <ul> <?php $recent = new WP_Query("orderby=rand&showposts=4"); while($recent->have_posts()) : $recent->the_post(); ?> <li> <a alt="<?php the_title(); ?>" title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a> </li> <?php endwhile; ?> </ul> کد زیر رو قرار بدید. <?php $random = new WP_Query(array( 'post_type' => 'post', 'orderby' => 'rand', 'posts_per_page' => 4, 'post_status' => 'publish' )); if($random->have_posts()) : echo '<ul>'; while($random->have_posts()) : $random->the_post(); ?> <li> <?php echo mehran_get_post_last_child_image($random->post->ID); ?> <?php child_cat($random->post->ID, 'poetname', [1261]); ?> <a alt="<?php the_title(); ?>" title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </li> <?php endwhile; wp_reset_postdata(); echo '</ul>'; endif; ?> 2 نقل قول لینک به ارسال
miraziz 26 ارسال شده در تیر 97 مالک گزارش بازنشر ارسال شده در تیر 97 آقا مهران دست گلت درد نکنه. خودش خودش بود. بی نهایت ممنون فقط یک مشکل کوچیک داشتم. حالا در li «عنوان مطلب» دقیقا جلوی «نام دسته» می آد. هر کاری هم می کنم نمی تونم ببرم پایین. میشه راهنمایی کوچیک بکنین که در cssاش چه چیز را باید رعایت کنم. نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در تیر 97 گزارش بازنشر ارسال شده در تیر 97 در 37 دقیقه قبل، miraziz گفته است : فقط یک مشکل کوچیک داشتم. حالا در li «عنوان مطلب» دقیقا جلوی «نام دسته» می آد. هر کاری هم می کنم نمی تونم ببرم پایین. میشه راهنمایی کوچیک بکنین که در cssاش چه چیز را باید رعایت کنم. فک میکنم یه همچین استایلی خوب باشه. کد حلقه تصادفی میشه این. <?php $random = new WP_Query(array( 'post_type' => 'post', 'orderby' => 'rand', 'posts_per_page' => 4, 'post_status' => 'publish' )); if($random->have_posts()) : echo '<ul class="randompost">'; while($random->have_posts()) : $random->the_post(); ?> <li> <?php echo mehran_get_post_last_child_image($random->post->ID); ?> <?php child_cat($random->post->ID, 'poetname', [1261]); ?> <a alt="<?php the_title(); ?>" title="<?php the_title(); ?>" class="post-link" href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </li> <?php endwhile; wp_reset_postdata(); echo '</ul>'; endif; ?> کد CSS استایل هم میشه کد زیر: ul.randompost > li { overflow: auto; padding: 5px; } ul.randompost > li a { float: right; } ul.randompost > li a img.mehran { margin-bottom: 0; } ul.randompost > li a.poetname { float: none; display: inline-block; border-bottom: 1px solid transparent; padding: 6px; } ul.randompost > li a.post-link { float: none; display: block; line-height: normal; overflow: auto; } که کد مربوط به استایل باید در انتهای فایل style.css قرار بگیره. 2 نقل قول لینک به ارسال
miraziz 26 ارسال شده در تیر 97 مالک گزارش بازنشر ارسال شده در تیر 97 در 5 ساعت قبل، mehran-b گفته است : فک میکنم یه همچین استایلی خوب باشه. آقا مهران بینهایت ممنونم. عالی بود. دقیق همون چیزی بود که می خواستم. کمی برای موبایل هم راست و ریستش کردم و در نهایت عالی شد. فقط تو اون حلقه تصادفی امکان داره که id برخی دسته ها را مستثنا کرد که نشون نده؟ نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در تیر 97 گزارش بازنشر ارسال شده در تیر 97 در 1 دقیقه قبل، miraziz گفته است : آقا مهران بینهایت ممنونم. عالی بود. دقیق همون چیزی بود که می خواستم. کمی برای موبایل هم راست و ریستش کردم و در نهایت عالی شد. قشنگ شد. در 2 دقیقه قبل، miraziz گفته است : فقط تو اون حلقه تصادفی امکان داره که id برخی دسته ها را مستثنا کرد که نشون نده؟ این قسمت کد: $random = new WP_Query(array( 'post_type' => 'post', 'orderby' => 'rand', 'posts_per_page' => 4, 'post_status' => 'publish' )); رو اگر به این شکل کنید: $random = new WP_Query(array( 'post_type' => 'post', 'orderby' => 'rand', 'posts_per_page' => 4, 'post_status' => 'publish', 'cat' => '-777,-888,-999' )); دسته هایی که آیدشون 777 و 888 و 999 هست دیگه پستاشون نمایش داده نمیشه. 2 نقل قول لینک به ارسال
miraziz 26 ارسال شده در تیر 97 مالک گزارش بازنشر ارسال شده در تیر 97 در 13 دقیقه قبل، mehran-b گفته است : دسته هایی که آیدشون 777 و 888 و 999 هست دیگه پستاشون نمایش داده نمیشه. آقا من دستت را می بوسم. امیدوارم در برابر این زحمتات حداقل از شعرهای سایتم خوشتان آمده باشد 1 نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در تیر 97 گزارش بازنشر ارسال شده در تیر 97 در 16 دقیقه قبل، miraziz گفته است : آقا من دستت را می بوسم. شما بزرگواری. در 17 دقیقه قبل، miraziz گفته است : امیدوارم در برابر این زحمتات حداقل از شعرهای سایتم خوشتان آمده باشد سایت که عالیه. 2 نقل قول لینک به ارسال
miraziz 26 ارسال شده در مرداد 97 مالک گزارش بازنشر ارسال شده در مرداد 97 در در 7/19/2018 at 20:56، mehran-b گفته است : رو اگر به این شکل کنید: $random = new WP_Query(array( 'post_type' => 'post', 'orderby' => 'rand', 'posts_per_page' => 4, 'post_status' => 'publish', 'cat' => '-777,-888,-999' )); دسته هایی که آیدشون 777 و 888 و 999 هست دیگه پستاشون نمایش داده نمیشه. سلام. آقا مهران امروز برای کدهای بالا یک مشکلی عجیبی پیش اومده. در کد تعیین کردید که 4 عنوان پست را نشون بده ولی از امروز 5تا نشون میده. اگه 3 بنویسم 4تا نشون میده. یعنی یه دونه اضافه میکنه. این از چی میتونه باشه؟ نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در مرداد 97 گزارش بازنشر ارسال شده در مرداد 97 در ۱ ساعت قبل، miraziz گفته است : سلام. آقا مهران امروز برای کدهای بالا یک مشکلی عجیبی پیش اومده. در کد تعیین کردید که 4 عنوان پست را نشون بده ولی از امروز 5تا نشون میده. اگه 3 بنویسم 4تا نشون میده. یعنی یه دونه اضافه میکنه. این از چی میتونه باشه؟ سلام میتونه از پست ثابت باشه. کد زیر رو تست کنید. $random = new WP_Query(array( 'post_type' => 'post', 'orderby' => 'rand', 'ignore_sticky_posts' => 1, 'posts_per_page' => 4, 'post_status' => 'publish', 'cat' => '-777,-888,-999' )); 1 نقل قول لینک به ارسال
miraziz 26 ارسال شده در مرداد 97 مالک گزارش بازنشر ارسال شده در مرداد 97 در 14 ساعت قبل، mehran-b گفته است : سلام میتونه از پست ثابت باشه. کد زیر رو تست کنید. $random = new WP_Query(array( 'post_type' => 'post', 'orderby' => 'rand', 'ignore_sticky_posts' => 1, 'posts_per_page' => 4, 'post_status' => 'publish', 'cat' => '-777,-888,-999' )); بله دقیقا مشکل از پست ثابت است. فقط وقتی کدی که دادید را جایگزین می کنم، وردپرس خطای زیر را مینویسه. قادر به برقراری ارتباط با سایت برای بررسی خطاهای مهلک نمیباشیم، بنابراین تغییر PHP برگشت داده شد. شما بایستی تغییر فایل PHP خود را با استفاده از ابزارهای دیگر مانند استفاده از SFTP آپلود نمایید. نقل قول لینک به ارسال
miraziz 26 ارسال شده در مرداد 97 مالک گزارش بازنشر ارسال شده در مرداد 97 از طریق دایرکت ادمین فایل را ویرایش کردم و درست شد. نمیدونم چرا وردپرس اون خطا را میداد. خیلی ممنون نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در مرداد 97 گزارش بازنشر ارسال شده در مرداد 97 در 54 دقیقه قبل، miraziz گفته است : قادر به برقراری ارتباط با سایت برای بررسی خطاهای مهلک نمیباشیم، بنابراین تغییر PHP برگشت داده شد. شما بایستی تغییر فایل PHP خود را با استفاده از ابزارهای دیگر مانند استفاده از SFTP آپلود نمایید. سلام علت های این مشکل خیلی زیاده معمولا هم از سمت هاست سایت هست. مثلا یکی از دلایلش میتونه Mod_security باشه. میتونید به هاستینگ پیام بدید و بگید Mod_security رو غیرفعال کنند احتمال داره درست بشه. 1 نقل قول لینک به ارسال
miraziz 26 ارسال شده در مرداد 97 مالک گزارش بازنشر ارسال شده در مرداد 97 در 1 ساعت قبل، mehran-b گفته است : سلام علت های این مشکل خیلی زیاده معمولا هم از سمت هاست سایت هست. مثلا یکی از دلایلش میتونه Mod_security باشه. میتونید به هاستینگ پیام بدید و بگید Mod_security رو غیرفعال کنند احتمال داره درست بشه. خیلی ممنون آقا مهران. فقط این کد را میشه کاری کرد که از چهار عناون مطلبی که نشون میده، دوتای اول مربوط به همون آیدی دستهی پست در حال مشاهده باشه؟ نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در مرداد 97 گزارش بازنشر ارسال شده در مرداد 97 در ۱ ساعت قبل، miraziz گفته است : خیلی ممنون آقا مهران. خواهش میکنم. در 1 ساعت قبل، miraziz گفته است : فقط این کد را میشه کاری کرد که از چهار عناون مطلبی که نشون میده، دوتای اول مربوط به همون آیدی دستهی پست در حال مشاهده باشه؟ یه ذره پیچید میشه. کد زیر رو قبل از if($random->have_posts()) : جایگزین کنید (یعنی هر چی از کدهای من قبل از عبارت بالا هست رو حذف کنید و کدهای زیر رو جاش بذارید). $post_cats = get_the_category(); if(!empty($post_cats)) $cat_ids = wp_list_pluck($post_cats, 'term_id'); else $cat_ids = array(); $query1 = new WP_Query(array( 'post_type' => 'post', 'posts_per_page' => 2, 'post_status' => 'publish', 'cat' => $cat_ids )); $query2 = new WP_Query(array( 'post_type' => 'post', 'orderby' => 'rand', 'posts_per_page' => 2, 'post_status' => 'publish' )); $random = new WP_Query(); $random->posts = array_merge($query1->posts, $query2->posts); $random->post_count = count($random->posts); موفق باشید 2 نقل قول لینک به ارسال
miraziz 26 ارسال شده در مرداد 97 مالک گزارش بازنشر ارسال شده در مرداد 97 در 1 ساعت قبل، mehran-b گفته است : کد زیر رو قبل از جایگزین کنید (یعنی هر چی از کدهای من قبل از عبارت بالا هست رو حذف کنید و کدهای زیر رو جاش بذارید) موفق باشید سلام. آقا مهران کد اونگونه که باید کار نکرد. دو عنوان اولی را آخرین دو پست منتشر شده در سایت نشون میده. من میخواستم مثلا نام دسته ی فرزند من «احمد شاملو» است. حالا وقتی مخاطب شعری از شاملو را می خواند آن دو عنوان اولی در قسمت نمایش تصادفی مربوط به دسته احمد شاملو باشد نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در مرداد 97 گزارش بازنشر ارسال شده در مرداد 97 در 5 ساعت قبل، miraziz گفته است : سلام. آقا مهران کد اونگونه که باید کار نکرد. دو عنوان اولی را آخرین دو پست منتشر شده در سایت نشون میده. من میخواستم مثلا نام دسته ی فرزند من «احمد شاملو» است. حالا وقتی مخاطب شعری از شاملو را می خواند آن دو عنوان اولی در قسمت نمایش تصادفی مربوط به دسته احمد شاملو باشد این که میگید آخرین مطالب سایته همون آخرین مطالب دسته اون مطلبه است ولی چون این آخرین دسته رو که اسم شاعره کار نداره کل دسته های مطلبه رو در نظر میگیره آخرین مطالب سایت هم میشه اون دو مطلب و گرنه آخرین مطالب دسته های مطلب جاری هم هست. نقل قول لینک به ارسال
miraziz 26 ارسال شده در مرداد 97 مالک گزارش بازنشر ارسال شده در مرداد 97 در هم اکنون، mehran-b گفته است : این که میگید آخرین مطالب سایته همون آخرین مطالب دسته اون مطلبه است ولی چون این آخرین دسته رو که اسم شاعره کار نداره کل دسته های مطلبه رو در نظر میگیره آخرین مطالب سایت هم میشه اون دو مطلب. بله درست است. فقط کد انگار دسته مادر را در نظر میگیره. ترتیب دسته های سایت من اینگونه است. شعر -> شاعران ایرانی -> احمد شاملو و یا شعر -> شاعران آمریکا -> چارلز بوکوفسکی. حالا این کد فقط دسته ی مادر (شعر) را در نظر میگیره. در حالی که منظور من فرزندترین دسته مثل احمد شاملو و چارلز بوکفسکی است. نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در مرداد 97 گزارش بازنشر ارسال شده در مرداد 97 در 9 دقیقه قبل، miraziz گفته است : بله درست است. فقط کد انگار دسته مادر را در نظر میگیره. ترتیب دسته های سایت من اینگونه است. شعر -> شاعران ایرانی -> احمد شاملو و یا شعر -> شاعران آمریکا -> چارلز بوکوفسکی. حالا این کد فقط دسته ی مادر (شعر) را در نظر میگیره. در حالی که منظور من فرزندترین دسته مثل احمد شاملو و چارلز بوکفسکی است. اوکی پس فرزند آخری رو دو پست آخرش رو نشون بده. کدش آماده شد قرار میدم. نقل قول لینک به ارسال
miraziz 26 ارسال شده در مرداد 97 مالک گزارش بازنشر ارسال شده در مرداد 97 در 1 دقیقه قبل، mehran-b گفته است : اوکی پس فرزند آخری رو دو پست آخرش رو نشون بده. کدش آماده شد قرار میدم. نه. دو پست از فرزند آخری را رندوم نشون بده. (یعنی فقط دو پست آخری فرزند آخر نباشه) نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در مرداد 97 گزارش بازنشر ارسال شده در مرداد 97 در هم اکنون، miraziz گفته است : نه. دو پست از فرزند آخری را رندوم نشون بده. (یعنی فقط دو پست آخری فرزند آخر نباشه) سخت شد ولی فک میکنم روش. 1 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .