چگونه با وردپرس یک دسته بندی را به برگه تبدیل کنیم

یکی از کارهایی که به فکر انجام آن بودم، این بود که دسته ای (Category) را درون یک صفحه ی وردپرس قرار دهم. امروز برای این کار کمی وقت گذاشتم و خوشبختانه به نتیجه رسید!

در حال حاضر، صفحه ای به نام “دست نوشته های سینا” اضافه کرده ام که درون آن نوشته های مربوط به دسته ی “دست نوشته های سینا” نمایش داده می شود. مزیت این روش این است که شما می توانید دسته ای از نوشته های خود را برجسته کرده و به صورت مجزا به صورت صفحه ای نمایش دهید.

روش نمایش نوشته های یک دسته درون یک برگه را در اینجا توضیح می دهم :

1- درون ویرایشگر پوسته بروید و فایل index.php را برای ویرایش انتخاب کنید. سپس فایلی به نام mytheme1.php بر روی سیستم تان بسازید و محتویات index.php را درون آن کپی کنید. سپس کد زیر را در سطر اول فایل mytheme1.php قرار دهید :

<?php /* Template Name: mytheme */ ?>

حال دو فایل مشابه دارید. با این تفاوت که فایل mytheme1.php یک خط کد در سطر اولش اضافه دارد.

2- فایل mytheme1.php را درون پوشه ی پوسته ی خود در وردپرس – مثلاً wp-content/themes/Classic – کپی کنید. (در واقع فایل index.php و mytheme1.php باید در یک جا قرار بگیرند)

3- حال لازم است که شماره ی دسته ی مورد نظر را پیدا کنید. در پیشخوان وردپرس فارسی، در قسمت نوشته ها، وارد “دسته ها” شوید و بر روی دسته ی مورد نظرتان کلیک کنید. پس از باز شدن صفحه، در قسمت آدرس مرورگر خود (اینترنت اکسپلورر، فایرفاکس یا …)، آدرسی می بینید که در انتهای آن چنین چیزی وجود دارد :

wp-admin/categories.php?action=edit&cat_ID=23

تنها چیزی که نیاز است، عدد انتهای آن است که در اینجا ما آن را 23 فرض کردیم و از اینجا به بعد هرجا 23 دیدید، منظور همین عدد است.

4- وارد قسمت “افزودن برگه” شوید. فقط اسم برگه را مشخص کنید و داخل برگه چیزی ننویسید. در نوار سمت چپ، زیر قسمت “صفات”، در بخش “قالب” از داخل منوی آن mytheme را انتخاب کنید. حالا انتشار یا بروزرسانی را بزنید و برگه را منتشر کنید.

5- وارد ویرایشگر پوسته ی خود شوید و فایل mytheme1.php را در آن پیدا کرده و انتخاب کنید تا ویرایش آن امکان پذیر گردد.

6- کد زیر را در فایل مربوطه پیدا کنید :

<?php while (have_posts()) : the_post(); ?>

و آن را به کد زیر تغییر دهید :

<?php if (have_posts()) : ?>

<?php $paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1; query_posts(“cat=23&paged=$paged”); ?>

<?php while (have_posts()) : the_post(); ?>

به عدد 23 توجه کنید. این نمایانگر دسته ی انتخابی ماست.

نکته : می توان همزمان چند دسته را در یک صفحه نمایش داد. به این صورت که شماره ی دسته ها را با کاما جدا کنید و بنویسید. به عنوان مثال برای نمایش دسته ی 23، 42 و 108 می توان کد فوق را به این صورت اصلاح کرد :

<?php if (have_posts()) : ?>

<?php $paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1; query_posts(“cat=23,42,108&paged=$paged”); ?>

<?php while (have_posts()) : the_post(); ?>

7- فایل mytheme1.php را پس از ویرایش های انجام گرفته ذخیره کنید.

8- کار تمام شده است.

من این کار را بر روی نسخه ی 2.8.4 انجام داده ام و موفقیت آمیز بوده است!

منابع : وردپرس و Stylizedweb

وبسایت http://30na.net
نوشته ایجاد شد 401

21 دیدگاه در “چگونه با وردپرس یک دسته بندی را به برگه تبدیل کنیم

  1. ضمن سلام
    در نوار سمت چپ و زیر قسمت “صفات”، در بخش “قالب” چیزی
    بنام میتهمه دیده نمی شود
    یعنی وجود ندارد
    خوب این صفحه رو کجا باید پیدا کنم

    1. @علی, سلام، من نمی دونم منظورتون از “میتهمه” چیه؟! … ولی اگه تمام گام های فوق رو به ترتیب انجام بدید، حتماً موفقیت آمیز خواهد بود :)

    1. @علی, راستش نمیدونم شما چه کار کردید. ولی اگه این مراحل رو به ترتیب و به دقت طی کنید، حتماً شدنی است :) الان همین جا، صفحه ی “دست نوشته های سینا” همین طور است.

  2. سلام.
    از آموزش خوبت ممنونم دوست عزیز. فکر کنم خیلی دنبال این امکان گشته بودم و تقریبا نا امید بودم و می خواستم برای این کار توی یه فولدری از هاستم یه ورپرس دیگه نصب کنم و با شبیه سازی قالب ها به هم و ارتباط دادن اونها این مدل رو پیاده سازی کنم. واقعا ممنون.
    من هنوز اینو اجرا نکردم ولی سوالی که دارم اینه که من حدس می زنم با این سیستم باز هم توی آر اس اس همه مطالب بره. راهی هست که اون دسته خاص آر اس اسی جداگانه داشته باشه یا توی آر اس اس اصلی سایت ما نره؟
    ممنون

    1. @خالص, این که آر اس اس خاصی داشته باشه که زیاد کار سختی نیست. به سادگی میشه. آدرس فیدش چیزی مثل این میشه :

      http://SITE.com/category/ESME-DASTE/feed

      اما اینکه بشه کاری کرد که تو آر اس اس نره، فکر می کنم افزونه ای برای این کار وجود داشته باشه.
      موفق باشید

  3. سلام.
    آقا سینا به پیر به پیغمبر نمی شه.
    ده دفعه مراحلت رو خوندم و اجرا کردم.
    یه چک کن ببین کار ویژه ای نکردی که یادت رفته بنویسی؟
    برای من توی اون برگه جدید هیچ چی نمایش نمی ده. خالی خالی

    1. @من,
      دوست عزیز من هم اول مشکل شما رو داشتم ولی وقتی به غیر از این برگه یه برگه ی جدیدی رو اضافه کردم دیدم ظاهر شده

  4. راستش من هم با مشکل آقا علی مواجهم…یعنی همه ی مراحل گفته شده ی شما رو طی می کنم اما در آخر توی لیست قالب ها چیزی به نام mythemeوجود نداره!

  5. سلام
    ممنون از سایت خوبت
    من با این روش که شما گفتین دسته ها مو به یه برگه تبدیل کردم اما مشکلی که دارم اینکه که من هر کاری میکنم یه بخشی از مطلبم رو نشون بده و ادامه مطلب رو نشون بده که هر کسی از مطلب خوشش اومد رو ادامه مطلب کلیک کنه ، نشون نمیده همش کل مطلب رو نشون میده با اینکه هم کدش در تمپلاته که درست کردم هستش و هم از وردپرس تنظیماتشو درست انجام دادم اما باز درست نشون نمیده . ممنون میشم اکه راهنمایم کنی که این مشکل بزرگمو حل کنم ….
    باتشکر

  6. سلام
    مرسی از مطلب خوبتون
    من اینکارارو انجام دادم مطالب به برگه میره ولی تو صفحه اصلی هم میاد
    میخوام دیگه تو صفحه اصلی نباشه چی کار کنم؟
    مرسش

  7. در کد اول باید یک ستاره دیگه هم قبل از Template Name وارد کنید ، یعنی در قسمت اول 2 ستاره و در قسمت دوم یک ستاره ، فکر کنم اینجوری مشکل نمایشش حل شه ;)

  8. با تشكر از مطالب ارزنده شما
     مي خواستم بپرسم ما اگه چندتا برگه داشته باشيم آيا بايد براي هركدام يك فايل جدا گانه درست كنيم؟ اسم هركدوم از فايلها چي باشه؟

  9. کسانی که کارهای بالا رو انجام دادن و نشده دقت کنین علامتهای ” و ‘ رو درست بذارین جواب میده احتمالا کدرو کپی کردین . من هم همون مشکل رو داشتم اما درست شد.
    از سینا هم ممنونم چون خیلی دنبالش میگشتم.

  10. دوست گرامی ممنون مطلب خوبی نوشتید فقط اگه میشه یک مطلب تهیه کن راجع به این که چگونه برچسب های مرتبط با یک دسته بندی را در وردپرس نمایش دهیم. با سپاس

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نوشته های مرتبط

متنی که میخواهید برای جستجو وارد کرده و دکمه جستجو را فشار دهید. برای لغو دکمه ESC را فشار دهید.

بازگشت به بالا