miraziz 26 ارسال شده در شهریور 97 گزارش بازنشر ارسال شده در شهریور 97 (ویرایش شده) سلام. دوستان همانطور که می دانید در وردپرس میتوان در انتهای مطلب امکانی را افزود که مخاطب با آنها به پست قبلی یا بعدی برود. ولی این اماکن بر اساس تاریخ انتشار مطالب عمل می کند. می خواستم بپرسم آیا امکانش هست که در کنار تاریخ انتشار، دسته را هم افزود. یعنی مثلا وقتی شما مطلبی را از دسته « اخبار» می بینید در قسمت پایین نوشته، پست قبلی و بعدی مربوط به دسته «اخبار» را بیاره. (منظورم اعمال بر فرزندترین دسته است) و اگر امکانش باشه مانند عکس زیر دو متن پست قبلی و پست بعدی را هم دستی بهش اضافه کنم/ کدهای زیر مربوط به ناوبری قالب من است. <!-- /post-nav --> <div class="post-nav"> <?php $next_post = get_next_post(); if (!empty( $next_post )): ?> <a class="post-nav-newer" title="<?php _e('Next post:', 'lingonberry'); echo ' ' . get_the_title($next_post); ?>" href="<?php echo get_permalink( $next_post->ID ); ?>"><?php echo get_the_title($next_post); ?> »</a> <?php endif; ?> <?php $prev_post = get_previous_post(); if (!empty( $prev_post )): ?> <a class="post-nav-older" title="<?php _e('Previous post:', 'lingonberry'); echo ' ' . get_the_title($prev_post); ?>" href="<?php echo get_permalink( $prev_post->ID ); ?>">« <?php echo get_the_title($prev_post); ?></a> <?php endif; ?> <div class="clear"></div> </div> <!-- /post-nav --> ویرایش شده شهریور 97 توسط miraziz نقل قول لینک به ارسال
miraziz 26 ارسال شده در شهریور 97 مالک گزارش بازنشر ارسال شده در شهریور 97 اینم کدهای مربوطه در فایل توابه هستش // Add classes to next_posts_link and previous_posts_link add_filter('next_posts_link_attributes', 'lingonberry_posts_link_attributes_1'); add_filter('previous_posts_link_attributes', 'lingonberry_posts_link_attributes_2'); function lingonberry_posts_link_attributes_1() { return 'class="post-nav-older"'; } function lingonberry_posts_link_attributes_2() { return 'class="post-nav-newer"'; } نقل قول لینک به ارسال
miraziz 26 ارسال شده در شهریور 97 مالک گزارش بازنشر ارسال شده در شهریور 97 سلا. دوستان کسی نیست راهنمایی ام کنه. من تو فروم های خارجی چیزی که مد نظرم بود را پیدا کردم ولی متاسفانه نتونستم با این کدها مچ کنم نقل قول لینک به ارسال
radintaban 15 ارسال شده در شهریور 97 گزارش بازنشر ارسال شده در شهریور 97 یعنی شما میخواید در صفحه مطلب، زیر بعدی و قبلی نام دسته بندی مطلب رو هم نمایش بده؟! دسته بندی رو در اطلاعات پست که نوشته! نقل قول لینک به ارسال
miraziz 26 ارسال شده در شهریور 97 مالک گزارش بازنشر ارسال شده در شهریور 97 در 59 دقیقه قبل، radintaban گفته است : یعنی شما میخواید در صفحه مطلب، زیر بعدی و قبلی نام دسته بندی مطلب رو هم نمایش بده؟! دسته بندی رو در اطلاعات پست که نوشته! نه. الان پست قبلی و بعدی را بر اساس تاریخ انتشار نشون میده. یعنی فرقی نمیکنه مطالب مربوط به کدوم دسته باشند. ولی من می خواهم مطلب قبلی و بعدی همون دسته را نشون بده. نقل قول لینک به ارسال
miraziz 26 ارسال شده در شهریور 97 مالک گزارش بازنشر ارسال شده در شهریور 97 @mehran-be سلام. آقا مهران در این مورد اطلاعاتی دارین؟ نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در شهریور 97 گزارش بازنشر ارسال شده در شهریور 97 در 26 دقیقه قبل، miraziz گفته است : @mehran-be سلام. آقا مهران در این مورد اطلاعاتی دارین؟ سلام برای تغییر لینک اون دو دکمه وردپرس هوکی در نظر نگرفته و موردی که میخواید باید از سر نوشته بشه. نقل قول لینک به ارسال
miraziz 26 ارسال شده در شهریور 97 مالک گزارش بازنشر ارسال شده در شهریور 97 (ویرایش شده) در 1 ساعت قبل، mehran-be گفته است : سلام برای تغییر لینک اون دو دکمه وردپرس هوکی در نظر نگرفته و موردی که میخواید باید از سر نوشته بشه. من از اینترنت کدهای زیر را پیدا کردم که جایگزین کدهای فعلی بکنم. تقریبا درست کار می کنند ولی یک مشکل کوچک دارند. شرحش یکم طولانییه ولی خواستم درست منظورم را برسانم. وقتی از گوگل به یک مطلب از دسته مثلا «ایلهان» انتقال داده می شوم. در انتهای مطلب که بر روی پست بعدی کلیک می کنم. از اون دستهی «ایلهان» خارج میشه و پستی از یک دستهی دیگه مثلا «اورهان» را نشون میده. ولی بعد از اون درست کار می کنه. یعنی تو مطالب دسته ی اورهان درست یک به یک جابجا میشه. هر دوی این دسته ها هم زیر مجموعهی یک دسته مثلا شاعران ترکیه هستند. در واقع در مرحله ی اول اون مشکل را داره. میشه فهمید به چه علت میتونه باشه <?php $post_id = $post->ID; // Get current post ID $cat = get_the_category(); $current_cat_id = $cat[0]->cat_ID; // Get current Category ID $args = array('category'=>$current_cat_id,'orderby'=>'post_date','order'=> 'DESC'); $posts = get_posts($args); // Get IDs of posts retrieved by get_posts function $ids = array(); foreach ($posts as $thepost) { $ids[] = $thepost->ID; } // Get and Echo the Previous and Next post link within same Category $index = array_search($post->ID, $ids); $prev_post = $ids[$index-1]; $next_post = $ids[$index+1]; ?> <?php if (!empty($prev_post)){ ?> <a class="previous-post" rel="prev" href="<?php echo get_permalink($prev_post) ?>"> <span class="meta-icon"><i class="fa fa-angle-left fa-lg"></i></span> Previous</a> <?php } ?> <?php if (!empty($next_post)){ ?> <a class="next-post" rel="next" href="<?php echo get_permalink($next_post) ?>">Next <span class="meta-icon"><i class="fa fa-angle-right fa-lg"></i></span> </a> <?php } ?> ویرایش شده شهریور 97 توسط miraziz نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در شهریور 97 گزارش بازنشر ارسال شده در شهریور 97 در 38 دقیقه قبل، miraziz گفته است : من از اینترنت کدهای زیر را پیدا کردم که جایگزین کدهای فعلی بکنم. تقریبا درست کار می کنند ولی یک مشکل کوچک دارند. شرحش یکم طولانییه ولی خواستم درست منظورم را برسانم. وقتی از گوگل به یک مطلب از دسته مثلا «ایلهان» انتقال داده می شوم. در انتهای مطلب که بر روی پست بعدی کلیک می کنم. از اون دستهی «ایلهان» خارج میشه و پستی از یک دستهی دیگه مثلا «اورهان» را نشون میده. ولی بعد از اون درست کار می کنه. یعنی تو مطالب دسته ی اورهان درست یک به یک جابجا میشه. هر دوی این دسته ها هم زیر مجموعهی یک دسته مثلا شاعران ترکیه هستند. در واقع در مرحله ی اول اون مشکل را داره. میشه فهمید به چه علت میتونه باشه والا فهمیدن کدهای سایر برنامه نویس ها برام سخته !!! نقل قول لینک به ارسال
miraziz 26 ارسال شده در شهریور 97 مالک گزارش بازنشر ارسال شده در شهریور 97 در 3 ساعت قبل، mehran-be گفته است : والا فهمیدن کدهای سایر برنامه نویس ها برام سخته !!! در مورد کدهای زیر می تونید راهنمایی کنین که بر روی دسته فرزند اعمال بشه. الان کاملا درست کار می کنه با این تفاوت که بر روی دسته والد تنظیم شده <ul class="pager"> <?php if ( get_previous_post() != null ) : ?> <li class="previous"> <span class="nav-previous"> <?php $singular_nav_previous_text = apply_filters( 'tc_singular_nav_previous_text', _x( '←' , 'Previous post link' , 'customizr' ) ); previous_post_link( '%link' , '<span class="meta-nav">' . $singular_nav_previous_text . '</span> %title' ); ?> </span> </li> <?php endif; ?> <?php if ( get_next_post() != null ) : ?> <li class="next"> <span class="nav-next"> <?php $singular_nav_next_text = apply_filters( 'tc_singular_nav_next_text', _x( '→' , 'Next post link' , 'customizr' ) ); next_post_link( '%link' , '%title <span class="meta-nav">' . $singular_nav_next_text . '</span>' ); ?> </span> </li> <?php endif; ?> </ul> کد توابعش add_filter( 'get_next_post_join', 'navigate_in_same_taxonomy_join', 20); add_filter( 'get_previous_post_join', 'navigate_in_same_taxonomy_join', 20 ); function navigate_in_same_taxonomy_join() { global $wpdb; return " INNER JOIN $wpdb->term_relationships AS tr ON p.ID = tr.object_id INNER JOIN $wpdb->term_taxonomy tt ON tr.term_taxonomy_id = tt.term_taxonomy_id"; } add_filter( 'get_next_post_where' , 'navigate_in_same_taxonomy_where' ); add_filter( 'get_previous_post_where' , 'navigate_in_same_taxonomy_where' ); function navigate_in_same_taxonomy_where( $original ) { global $wpdb, $post; $where = ''; $taxonomy = 'category'; $op = ('get_previous_post_where' == current_filter()) ? '<' : '>'; $where = $wpdb->prepare( "AND tt.taxonomy = %s", $taxonomy ); if ( ! is_object_in_taxonomy( $post->post_type, $taxonomy ) ) return $original ; $term_array = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'ids' ) ); $term_array = array_map( 'intval', $term_array ); if ( ! $term_array || is_wp_error( $term_array ) ) return $original ; $where = " AND tt.term_id IN (" . implode( ',', $term_array ) . ")"; return $wpdb->prepare( "WHERE p.post_date $op %s AND p.post_type = %s AND p.post_status = 'publish' $where", $post->post_date, $post->post_type ); } نقل قول لینک به ارسال
miraziz 26 ارسال شده در شهریور 97 مالک گزارش بازنشر ارسال شده در شهریور 97 سلام. دوستان من از طریق سایت های خارجی متوجه شدم که کد زیر ناوبری پست های وردپرس را درون یک دسته انجام می دهد. in_same_term ولی دسته های فرزند را در نظر نمی گیرد و فقط بین دسته والد جابجا میشه. grandchild_term چگونه میشه کاری کرد که فرزندترین دسته را هم در نظر بگیرد؟ <?php previous_post_link( '« %link', '%title', true ); ?> | <?php next_post_link( '%link »', '%title', true ); ?> نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در شهریور 97 گزارش بازنشر ارسال شده در شهریور 97 در 1 ساعت قبل، miraziz گفته است : چگونه میشه کاری کرد که فرزندترین دسته را هم در نظر بگیرد؟ سلام تابع زیر رو بذارید توی فایل functions.php قالب. function mehran_exclude_all_except_last_child($post = null) { $post = get_post($post); if(!$post) return array(); $cats = get_the_category($post->ID); if(empty($cats)) return array(); $excluds = array(); foreach($cats as $cat) { if($cat->parent != 0) continue; $excluds[] = $cat->term_id; } return $excluds; } بعدش که میخواید نمایش بدید قبل و بعد رو به شکل زیر عمل کنید. <?php $excluds = mehran_exclude_all_except_last_child(get_queried_object_id()); previous_post_link('« %link', '%title', true, $excluds); next_post_link('%link »', '%title', true, $excluds); ?> احتمال داره درست عمل کنه البته مطمئن نیستم. 2 نقل قول لینک به ارسال
miraziz 26 ارسال شده در شهریور 97 مالک گزارش بازنشر ارسال شده در شهریور 97 در 8 دقیقه قبل، mehran-be گفته است : سلام احتمال داره درست عمل کنه البته مطمئن نیستم. سلام آقا مهران عزیز. متاسفانه درست عمل نکرد. یعنی اصلا مشخص هم نبود بر چه اساسی پست ها را نشون میده نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در شهریور 97 گزارش بازنشر ارسال شده در شهریور 97 در 7 دقیقه قبل، miraziz گفته است : سلام آقا مهران عزیز. متاسفانه درست عمل نکرد. یعنی اصلا مشخص هم نبود بر چه اساسی پست ها را نشون میده آره فک میکردم انقدر ساده نباشه. نقل قول لینک به ارسال
miraziz 26 ارسال شده در شهریور 97 مالک گزارش بازنشر ارسال شده در شهریور 97 در 16 دقیقه قبل، mehran-be گفته است : آره فک میکردم انقدر ساده نباشه. آره من خودم یک هفته است از سایت های خارجی کدهای مختلفی را اتحان می کنم فقط یک کدی بود که تا حدودی درست کار کرد که بالا نوشته بودم. جالب اینجاست که خود کد وردپرس بر روی دسته مادر کاملا درست و عالی کار میکنه ولی برای دسته ی فرزند دنگ و فنگ داره! نقل قول لینک به ارسال
miraziz 26 ارسال شده در شهریور 97 مالک گزارش بازنشر ارسال شده در شهریور 97 در 23 ساعت قبل، mehran-be گفته است : آره فک میکردم انقدر ساده نباشه. سلام. آقا مهران با همین کد ساده هم خیلی خوب کار کرد. می دونین قضیه از چه قرار بود. ترتیب دسته بندی زیر را در نظر بگیرید -شعر --شاعران آمریکا --- امیلی دیکنسون من هنگام ارسال پست در دستهبندی تیک هر سه گزینهی بالا را می زدم. درحالی که اگر تنها تیک دسته «امیلی دیکنسون» را بزنم کد به درستی کار میکنه/ حالا میخواستم بدونم اگر دیگر دسته های والد را تیک نزنم در مورد سئو بد است. @4M!R نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در شهریور 97 گزارش بازنشر ارسال شده در شهریور 97 در 13 دقیقه قبل، miraziz گفته است : من هنگام ارسال پست در دستهبندی تیک هر سه گزینهی بالا را می زدم. درحالی که اگر تنها تیک دسته «امیلی دیکنسون» را بزنم کد به درستی کار میکنه خوب اگر شما فقط 1 دسته داشته باشید همون پارامتر سوم اون دو تابع رو true بذارید نتسجه درست باید باشه و احتیاجی به تابع من نیست. نقل قول لینک به ارسال
miraziz 26 ارسال شده در شهریور 97 مالک گزارش بازنشر ارسال شده در شهریور 97 در 7 دقیقه قبل، mehran-be گفته است : خوب اگر شما فقط 1 دسته داشته باشید همون پارامتر سوم اون دو تابع رو true بذارید نتسجه درست باید باشه و احتیاجی به تابع من نیست. در واقع دسته هایی که بالا نوشتم زیر مجموعه ی هم هستند. یعنی فقط فرزندترین دسته را تیک بزنم دیگه. فقط کد زیر عنوان مطلب را نشون میده. اگر بخواهم به جای عنوان متن دلخواه. مانند پست قبلی - پست بعدی را نشون بده چه تغییری بهش بدم <?php previous_post_link( '« %link', '%title', true ); ?> | <?php next_post_link( '%link »', '%title', true ); ?> نقل قول لینک به ارسال
4M!R 805 ارسال شده در شهریور 97 گزارش بازنشر ارسال شده در شهریور 97 در 51 دقیقه قبل، miraziz گفته است : سلام. آقا مهران با همین کد ساده هم خیلی خوب کار کرد. می دونین قضیه از چه قرار بود. ترتیب دسته بندی زیر را در نظر بگیرید -شعر --شاعران آمریکا --- امیلی دیکنسون من هنگام ارسال پست در دستهبندی تیک هر سه گزینهی بالا را می زدم. درحالی که اگر تنها تیک دسته «امیلی دیکنسون» را بزنم کد به درستی کار میکنه/ حالا میخواستم بدونم اگر دیگر دسته های والد را تیک نزنم در مورد سئو بد است. @4M!R نه موردی نداره 1 نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در شهریور 97 گزارش بازنشر ارسال شده در شهریور 97 در 1 ساعت قبل، miraziz گفته است : فقط کد زیر عنوان مطلب را نشون میده. اگر بخواهم به جای عنوان متن دلخواه. مانند پست قبلی - پست بعدی را نشون بده چه تغییری بهش بدم دو تابع زیر رو توی فایل functions.php قالب سایت قرار بدید. function mehran_next_post_title($title) { return 'پست بعدی'; } function mehran_previous_post_title($title) { return 'پست قبلی'; } کدتون هم به شکل زیر میشه. <?php add_filter('the_title', 'mehran_previous_post_title'); previous_post_link('« %link', '%title', true); add_filter('the_title', 'mehran_next_post_title'); next_post_link('%link »', '%title', true); remove_filter('the_title', 'mehran_previous_post_title'); remove_filter('the_title', 'mehran_next_post_title'); ?> 3 نقل قول لینک به ارسال
miraziz 26 ارسال شده در شهریور 97 مالک گزارش بازنشر ارسال شده در شهریور 97 در 5 ساعت قبل، mehran-be گفته است : دو تابع زیر رو توی فایل functions.php قالب سایت قرار بدید. کدتون هم به شکل زیر میشه. فقط آقا مهران من چگونه به اینها کلاس اضافه کنم. چون باید برای «پست قبلی» و «پست بعدی» جداگانه استایل و خصوصا float بدم. نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در شهریور 97 گزارش بازنشر ارسال شده در شهریور 97 در 3 ساعت قبل، miraziz گفته است : فقط آقا مهران من چگونه به اینها کلاس اضافه کنم. چون باید برای «پست قبلی» و «پست بعدی» جداگانه استایل و خصوصا float بدم. والا سخته کلاس اضافه کردن بهشون با استفاده از اتریبیوت rel شون سلکتشون کنید. a[rel=prev] و a[rel=next] نقل قول لینک به ارسال
miraziz 26 ارسال شده در شهریور 97 مالک گزارش بازنشر ارسال شده در شهریور 97 در 29 دقیقه قبل، mehran-be گفته است : والا سخته کلاس اضافه کردن بهشون با استفاده از اتریبیوت rel شون سلکتشون کنید. a[rel=prev] و a[rel=next] متوجه نشدم. یعنی یک تگ A باز کنم و در rel اش کدهای php را قرار دهم؟ نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در شهریور 97 گزارش بازنشر ارسال شده در شهریور 97 در 52 دقیقه قبل، miraziz گفته است : متوجه نشدم. یعنی یک تگ A باز کنم و در rel اش کدهای php را قرار دهم؟ نه اینا سلکتور CSS هست. https://wpu.ir/aur2e نقل قول لینک به ارسال
miraziz 26 ارسال شده در شهریور 97 مالک گزارش بازنشر ارسال شده در شهریور 97 در 8 ساعت قبل، mehran-be گفته است : نه اینا سلکتور CSS هست. https://wpu.ir/aur2e از این روش استفاده کردم <div> <div class="previous-post "> <?php add_filter('the_title', 'mehran_previous_post_title'); previous_post_link('« %link', '%title', true); remove_filter('the_title', 'mehran_previous_post_title'); ?> </div> <div class="next-post "> <?php add_filter('the_title', 'mehran_next_post_title'); next_post_link('%link »', '%title', true); remove_filter('the_title', 'mehran_next_post_title'); ?> </div> </div> /* ناوبری شعر --------------------------------------- */ .previous-post, .next-post { color: #fff; background-color: #999; text-align: center; height: 26px; line-height: 24px; font-size: 14px; padding: 0 10px; margin-bottom: 30px; text-transform: uppercase; } .previous-post:hover, .next-post:hover {background-color: #666; color:#fff;} .previous-post a, .next-post a{color: #fff;} .previous-post a:hover, .next-post a:hover{color: #fff;} .previous-post {float: right !important; margin-right:-1%; border-radius: 9px 0px 0px 9px;} .next-post {float: left !important; margin-left: -1%; border-radius: 0px 9px 9px 0px;} نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .