در این مقاله از دکتر گرافیک، آموزش اضافه کردن صفحه بندی صفحات به وردپرس با کد را خواهیم داشت.
توسط سیستم مدیریت محتوای وردپرس و قالب و افزونههای مختلفی که در سایت در اختیار شما قرار میگیرند؛ شما میتوانید امکانات مختلفی را به سایت خود اضافه کنید. در برخی موارد نیز این امکانات به وسیله کد نویسی قابل افزوده شدن به سایت است. شماره صفحات یکی از امکاناتی است که شما در صورتی که در سایت خود محتوای زیادی داشته باشید باید حتماً از آن استفاده کنید.
به طور پیش فرض قالب وردپرس لینک صفحه بندی را از طریق افزودن لینک قدیمیترین پست و جدیدترین پست در انتهای صفحه آرشیو وردپرس نمایش میدهد. بااینحال بیشتر سایتها از صفحهبندی عددی مانند سایت دکتر گرافیک استفاده میکنند. در آموزش هدف قرار دادن قدیمیترین و جدیدترین لینک صفحهبندی در انتهای صفحه آرشیو با حرکت راحت صفحات میباشد.
دو روش برای افزودن صفحهبندی عددی به قالب وردپرس وجود دارد. روش اول افزودن صفحهبندی عددی بهصورت دستی و بدون استفاده از افزونه است و روش دوم استفاده از یک افزونه میباشد.
هر یک از این روشها مزیتهای مخصوص به خود را دارند. اگر شما مایل به استفاده از افزونه باشید افزونههای زیادی هستند که به شما در این زمینه کمک خواهند کرد. اما اگر شما آشنا به کد نویسی هستید میتوانید بهراحتی این کار را در سایت خود انجام دهید. بهاینترتیب نیاز به نصب هیچ افزونه اضافی در سایت نیست.
برای مطالعه مطالب بیشتر، به صفحه بلاگ سایت دکتر گرافیک مراجعه کنید.
اهمیت افزودن شماره صفحات به وردپرس
دستهبندی مطالب مختلف سایت در صفحات مختلف باعث میشود که صفحات سایت شما زودتر لود شوند. اما اگر این کار را انجام ندهید به دلیل حجم بالای محتوا پس از ورود کاربر به سایت صفحات بهکندی لود خواهند شد. این موضوع میتواند سبب کاهش آمار بازدید سایت شما شود. همچنین دستهبندی مطالب در صفحات مختلف باعث میشود موتورهای جستجو بهتر مطالب شما پردازش کنند و در اختیار کاربران قرار دهند.
از طرف دیگر کاربر امکان این را دارد که مطلب موردنظر خودش را با توجه به دستهبندیهای صورت گرفته بهراحتی پیدا کند و در سایت شما سردرگم نشود. این موضوع باعث میشود سئو سایت خود را بهبود دهید.
زمانی که شما با استفاده از قابلیت پیشفرض وردپرس این کار را انجام دهید تنها دو گزینه صفحه قبل و بعد به سایت شما اضافه میشود. اما با استفاده از این کد میتوانید این قابلیت را در سطح بهتر و بالاتری انجام دهید. این کدها باعث میشود شما علاوه بر اینکه این دو گزینه را اضافه میکنید در بین آنها اعداد شماره صفحات نیز قرار بگیرند.
یکی از مزیتهایی که انجام این کار دارد این است که باعث میشود مطالب قدیمی و جدید شما از هم جدا شده و مشخص شوند و کاربر بتواند به توجه به شماره صفحات آنها را از هم تشخیص دهید. همچنین با استفاده از شمارهگذاری شما شانس دیده شدن مطالب قدیمی سایت خود را بیشتر میکنید. این کار باعث میشود سایت شما در نظر کاربران مرتبتر جلوه کند و ظاهر خوبی داشته باشد.
مقالات مرتبط:
– آموزش کار با افزونه WP PageNavi و صفحه بندی در وردپرس
– صفحه بندی کردن آرشیوهای سایت وردپرس با افزونه WP Page Numbers
آموزش اضافه کردن صفحه بندی صفحات به وردپرس با کد
شما امکان این را دارید که در عرض چند دقیقه این کار را انجام دهید. در ابتدا برای شما نحوه افزودن صفحهبندی عددی بهصورت دستی را نمایش میدهیم که این به نفع کاربران پیشرفته، کاربرانی که در حال یادگیری توسعه قالب هستند و یا میخواهند این کار بدون استفاده از افزونه انجام دهند میباشد.
برای انجام این کار نیز از فایل پرکاربرد فانکشن استفاده میکنیم. در ابتدا فایل پوسته را بازکرده و کد زیر را به آن functions.php اضافه کنید.
function drgraphic_numeric_posts_nav() { if (is_singular()) return; global $wp_query; /** Stop execution if there's only 1 page */ if ($wp_query->max_num_pages <= 1) return; $paged = get_query_var('paged') ? absint(get_query_var('paged')) : 1; $max = intval($wp_query->max_num_pages); /** Add current page to the array */ if ($paged >= 1) $links[] = $paged; /** Add the pages around the current page to the array */ if ($paged >= 3) { $links[] = $paged - 1; $links[] = $paged - 2; } if (($paged + 2) <= $max) { $links[] = $paged + 2; $links[] = $paged + 1; } echo '<div class="navigation"><ul>' . "\n"; /** Previous Post Link */ if (get_previous_posts_link()) printf('<li>%s</li>' . "\n", get_previous_posts_link()); /** Link to first page, plus ellipses if necessary */ if (!in_array(1, $links)) { $class = 1 == $paged ? ' class="active"' : ''; printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link(1)) , '1'); if (!in_array(2, $links)) echo '<li>…</li>'; } /** Link to current page, plus 2 pages in either direction if necessary */ sort($links); foreach((array)$links as $link) { $class = $paged == $link ? ' class="active"' : ''; printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link($link)) , $link); } /** Link to last page, plus ellipses if necessary */ if (!in_array($max, $links)) { if (!in_array($max - 1, $links)) echo '<li>…</li>' . "\n"; $class = $paged == $max ? ' class="active"' : ''; printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link($max)) , $max); } /** Next Post Link */ if (get_next_posts_link()) printf('<li>%s</li>' . "\n", get_next_posts_link()); echo '</ul></div>' . "\n"; }
این کد تعداد صفحات و یک لیست از لینک شماره را آماده میکند. برای افزودن کد به قالب باید برچسب زیر را به Index.php, Archive.php, Category.php و دیگر قالبهای آرشیو صفحه اضافه کنید.
<?php drgraphic_numeric_posts_nav(); ?>
اکنونکه صفحهبندی را لیست کردهایم نیاز داریم لیست را استایل دهی کنیم. ما میخواهیم که لیست را در خط بلوک جاییکه صفحه با رنگهای پسزمینه مختلف فعالشده ایجاد کنیم. برای انجام دادن آن کد زیر را به قالب فایل Style.css اضافه کنید:
.navigation li a, .navigation li a:hover, .navigation li.active a, .navigation li.disabled { color: #fff; text-decoration:none; } .navigation li { display: inline; } .navigation li a, .navigation li a:hover, .navigation li.active a, .navigation li.disabled { background-color: #6FB7E9; border-radius: 3px; cursor: pointer; padding: 12px; padding: 0.75rem; } .navigation li a:hover, .navigation li.active a { background-color: #3C8DC5; }
اکنون لیستی از صفحهبندی عددی در قالب داریم. در نظر داشته باشید که قبل از هر تغییری در فایل فانکشن حتماً یک نسخه پشتیبان از مطالب سایت خود تهیه کنید.
امیدواریم این مقاله برای شما مفید واقع شده باشد. اگر سوالی داشتید، در بخش نظرات با ما در میان بگذارید. سپاس از همراه شما…
منابع: wikipedia – wordpress.org – mihanwp – youtube