Siaavash

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

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

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

اعتبار در انجمن

3

درباره Siaavash

  • درجه
    تازه کار

اطلاعات شخصی

  • جنسیت
  • آشنایی با وردپرس
  • سطح برنامه نویسی
  • آشنایی با طراحی
  1. داخل یک سایت آموزشگاهی یک صفحه رزرو و ثبت نام کلاس وجود داره که لیست کلاس های موجود برای سطوح مختلف، تاریخ شروع، روز و ساعت و شعبه تشکیل کلاس نمایش داده می شه. کلاس هایی که تکمیل ظرفیت نشدند دکمه رزرو براشون فعال هست. می خوام به طریقی این صفحه (صفحه جدول کلاس ها) هر مثلا 15 دقیقه مانیتور بشه و در صورتی که کلاسی در سطح X توی شعبه Y و ساعت Z برای ثبت نام فعال می شه رو اطلاع بده. (از طریق ایمیل یا SMS) به دو طریق صفحه مورد نظر قابل دسترسی هست: 1- بدون ورود به پنل کاربری، که در این صورت تمام سطوح نمایش داده می شه و هر سطح جدول (HTML) خاص خودش رو داره که بالای جدول نام سطح نوشته شده و داخل جدول هم ستون یک کد سطح نمایش داده می شه (مثلا SPxxxx که S نشان دهنده سطح R لول داخلی سطح مثل سطح 1 لول 2 و x ها چند عدد هست که دقیق نمی دونم نشان دهنده چه چیزی هست) 2- با ورود به پنل، که در این صورت فقط سطحی که مجاز به ثبت نام هستید رو نمایش می ده. به چه طریقی می تونم این کار رو انجام بدم؟ یک خورده عجله ای هست!
  2. این مورد به شیوه زیر حل شد: وردپرس به صورت پیش فرض، کلاسی رو با نام current-menu-item به آیتم صفحه جاری داخل منو اومده می ده. خیلی راحت با کد CSS می شه نمایش نداد.: .current-menu-item { display: none !important; }
  3. حل شد عکس ها رو برای پست ها آپلود کردم، اما داخل پست قرار ندادم. یه تابع تعریف کردم که عکس های آپلود شده برای هر پست رو بگیره و هر جا که فراخوانی کردم نمایش بده.
  4. یک صفحه برای نمایش پروژه هست، که شامل متن، عکس و Thumbnail عکس های پروژه می شه! می خوام متن توی یک ستون لود بشه، تمام عکس ها به صورت یک اسلایدر داخل ستون وسط و thumbnail ها هم در ستون دیگه! به چه صورت می تونم این کار رو انجام بدم؟ که کاربر متن رو وارد کنه و تمام عکس ها رو هم داخل پست آپلود و وارد کنه، بعد به صورت اتوماتیک متن داخل ستون خودش قرار بگیره (div) تمام عکس ها داخل اسلایدر قرار بگیرند و بند انگشتی عکس ها هم ساخته و داخل ستون مربوطه فراخوانی بشن. بهترین راه برای انجام این کار چیه؟ با استفاده از فرمت گالری توی post formats می شه این کار رو انجام داد؟
  5. یک سایت هست که چندین صفحه داره به صورت زیر: 1- صفحه اصلی 2- درباره ما 3- تماس 4- صفحه نمونه کارها 5- صفحات هر نمونه کار منوی این سایت به صورت همبرگری طراحی شده. می خوام کاربر توی هر صفحه ای که هست وقتی روی منو کلیک می کنه لینک صفحات دیگه نمایش داده بشه. برای مثال: وقتی کاربر داخل صفحه اصلی هست لینک شماره های 2-3-4 نمایش داده بشه، و وقتی داخل صفحه تماس هست لینک شماره های 1-2-4 نمایش داده بشه و وقتی داخل صفحات 5 هست لینک شماره های 1-2-3-4 نمایش داده بشه داخل منو راه حل درست و اصولی برای پیاده کردن این مورد چیه؟
  6. بهترین روش برای راه اندازی یک سایت دو زبانه چیه؟
  7. راه حل رفع این مورد به چه صورته؟
  8. مشکل رو از طریق کد زیر حل کردم: <?php if ( have_posts() ) : ?> <header> <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1> </header> <?php /* Start the Loop */ while ( have_posts() ) : the_post(); $last_post = reset($wp_query->posts); if ($last_post->ID == $post->ID) { get_template_part( 'template-parts/content-first', get_post_format() ); get_template_part( 'template-parts/first-post-ads'); } else { get_template_part( 'template-parts/content', get_post_format() ); } endwhile; // the_posts_navigation(); the_posts_navigation(); else : get_template_part( 'template-parts/content-first', 'none' ); endif; wp_reset_postdata(); ?> یعنی با اضافه کردن کد زیر به حلقه، هم نیازم به کوئری از بین رفت، هم اینکه اون مشکل حل شد و آخرین پست ارسالی داخل صفحه رو به صورت متفاوت نمایش می ده و هم مشکل صفحه بندی از بین رفت: $last_post = reset($wp_query->posts); if ($last_post->ID == $post->ID) { get_template_part( 'قالب پست اول', get_post_format() ); } else { get_template_part( 'قالب مابقی پست ها', get_post_format() ); }
  9. کاری می خوام انجام بدم شبیه عکس زیر هست. کادر بالا پست آخر صفحه اصلی و کادرهای قرمز، پست های بعدی هستند. دو کادر کوچیک زیر پست بالا هم بنر هستند. برای این کار از کد زیر استفاده کردم: <?php $currentPage = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array('posts_per_page' => 1, 'paged' => $currentPage); query_posts($args); if ( have_posts() ) : if ( is_home() && ! is_front_page() ) : ?> <header> <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1> </header> <?php endif; /* Start the Loop */ while ( have_posts() ) : the_post(); get_template_part( 'template-parts/content-first', get_post_format() ); endwhile; // the_posts_navigation(); get_template_part( 'template-parts/first-post-ads'); else : get_template_part( 'template-parts/content-first', 'none' ); endif; wp_reset_postdata(); $currentPage2 = (get_query_var('paged')) ? get_query_var('paged') : 1; $args1 = array('posts_per_page' => 5, 'paged' => $currentPage2); query_posts($args1); if ( have_posts() ) : if ( is_home() && ! is_front_page() ) : ?> <header> <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1> </header> <?php endif; /* Start the Loop */ while ( have_posts() ) : the_post(); get_template_part( 'template-parts/content', get_post_format() ); endwhile; the_posts_navigation(); else : get_template_part( 'template-parts/content', 'none' ); endif; wp_reset_postdata(); ?> با این کار مشکل صفحه بندی حل شد اما مشکلی که هست اینه که وقتی این کد رو می ذارم، پست اول دوبار تکرار می شه! و وقتی توی کوئری پایین از 'offset' => 1 استفاده می کنم، صفحه های بعدی دوباره پست های صفحه اصلی رو نمایش می ده در کادرهای قرمز رنگ! چطور می تونم این سیستم رو پیاده کنم؟ راهی هست که پست آخر رو شناسایی کنه و اگر پست آخر بود یه قالب برای نمایش استفاده کنه در غیر این صورت از یه قالب دیگه؟
  10. با توجه به این مشکل و اینکه قاعدتا بعد از رفتن به صفحه دوم، دو حالت برای اون جایگاه پست (تکی بالا) وجود داره که کدوم پست رو باید نشون بده: 1- آخرین پست منتشر شده نسبت به کل نوشته های وبلاگ (یعنی آخرین پست همیشه (به صورت متفاوت) توی صفحات بعدی هم نمایش داده بشه) 2- آخرین پست منتشر شده نسبت به اون صفحه ای که داخلش هست (6پست اخیر) (یعنی توی هر صفحه از نوشته های قبلی، یک پست متفاوت، اون بالا به صورت مجزا و متفاوت نمایش داده بشه) برای هر حالت چه راه حلی پیشنهاد می شه؟
  11. مشکل صفحه بندی به خاطر استفاده از query هست. با کد زیر باید قاعدتا رفع بشه: $currentPage = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array('posts_per_page' => 3, 'paged' => $currentPage); query_posts($args); اما چون دو تا کوئری ایجاد کردم، با رفتن به صفحه دوم، فقط پست اول که بالای سایت هست و مربوط به کوئری اول، تغییر می کنه و 5 تا پست بعدی که مربوط به کوئری دوم هستند، هیچ تغییری نمی کنن!
  12. آیا این دو کوئری که بالاتر قرار دادم ایرادی داره؟ چون وقتی می زنم صفحه دوم وبلاگ رو نمایش بده، توی آدرس بار می زنه page2 اما همون صفحه اصلی و مطالب رو نشون می ده.
  13. تغییرات فراتر از استایل هست. در این صورت چطور؟ آیا راه دیگه ای هم وجود داره؟ یا این راهی که انتخاب کردم بهترین راه هست؟
  14. داخل صفحه اصلی می خوام پست آخر رو به صورت متفاوت نمایش بدم. برای این کار از دو تا query استفاده کردم به صورت زیر: <?php $query1 = new WP_Query( array( 'posts_per_page' => 1 ) ); if ( $query1->have_posts() ) : if ( is_home() && ! is_front_page() ) : ?> <header> <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1> </header> <?php endif; /* Start the Loop */ while ( $query1->have_posts() ) : $query1->the_post(); get_template_part( 'template-parts/content-first', get_post_format() ); endwhile; // the_posts_navigation(); get_template_part( 'template-parts/first-post-ads'); else : get_template_part( 'template-parts/content-first', 'none' ); endif; wp_reset_postdata(); $query2 = new WP_Query( array( 'posts_per_page' => 5, 'offset' => 1 ) ); if ( $query2->have_posts() ) : if ( is_home() && ! is_front_page() ) : ?> <header> <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1> </header> <?php endif; /* Start the Loop */ while ( $query2->have_posts() ) : $query2->the_post(); get_template_part( 'template-parts/content', get_post_format() ); endwhile; the_posts_navigation(); else : get_template_part( 'template-parts/content', 'none' ); endif; wp_reset_postdata(); ?> با این کار به هدفم رسیدم، اما می خوام بدونم راه دیگه ای برای این کار وجود نداره؟
  15. کسی ایده ای در این زمینه نداره؟