یکی از کارهایی که به فکر انجام آن بودم، این بود که دسته ای (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
ضمن سلام
در نوار سمت چپ و زیر قسمت “صفات”، در بخش “قالب” چیزی
بنام میتهمه دیده نمی شود
یعنی وجود ندارد
خوب این صفحه رو کجا باید پیدا کنم
@علی, سلام، من نمی دونم منظورتون از “میتهمه” چیه؟! … ولی اگه تمام گام های فوق رو به ترتیب انجام بدید، حتماً موفقیت آمیز خواهد بود :)
منظورم از اون کلمه ای که اشتباهاً فارسی تایپ شده کلمه
mytheme
بود که در قالب وجود ندارد
ممنون
@علی, راستش نمیدونم شما چه کار کردید. ولی اگه این مراحل رو به ترتیب و به دقت طی کنید، حتماً شدنی است :) الان همین جا، صفحه ی “دست نوشته های سینا” همین طور است.
سلام.
از آموزش خوبت ممنونم دوست عزیز. فکر کنم خیلی دنبال این امکان گشته بودم و تقریبا نا امید بودم و می خواستم برای این کار توی یه فولدری از هاستم یه ورپرس دیگه نصب کنم و با شبیه سازی قالب ها به هم و ارتباط دادن اونها این مدل رو پیاده سازی کنم. واقعا ممنون.
من هنوز اینو اجرا نکردم ولی سوالی که دارم اینه که من حدس می زنم با این سیستم باز هم توی آر اس اس همه مطالب بره. راهی هست که اون دسته خاص آر اس اسی جداگانه داشته باشه یا توی آر اس اس اصلی سایت ما نره؟
ممنون
@خالص, این که آر اس اس خاصی داشته باشه که زیاد کار سختی نیست. به سادگی میشه. آدرس فیدش چیزی مثل این میشه :
http://SITE.com/category/ESME-DASTE/feed
اما اینکه بشه کاری کرد که تو آر اس اس نره، فکر می کنم افزونه ای برای این کار وجود داشته باشه.
موفق باشید
سلام.
آقا سینا به پیر به پیغمبر نمی شه.
ده دفعه مراحلت رو خوندم و اجرا کردم.
یه چک کن ببین کار ویژه ای نکردی که یادت رفته بنویسی؟
برای من توی اون برگه جدید هیچ چی نمایش نمی ده. خالی خالی
@من, نه والا من چیزی رو جا ننداختم :-؟؟
@من,
دوست عزیز من هم اول مشکل شما رو داشتم ولی وقتی به غیر از این برگه یه برگه ی جدیدی رو اضافه کردم دیدم ظاهر شده
راستش من هم با مشکل آقا علی مواجهم…یعنی همه ی مراحل گفته شده ی شما رو طی می کنم اما در آخر توی لیست قالب ها چیزی به نام mythemeوجود نداره!
سلام
ممنون از سایت خوبت
من با این روش که شما گفتین دسته ها مو به یه برگه تبدیل کردم اما مشکلی که دارم اینکه که من هر کاری میکنم یه بخشی از مطلبم رو نشون بده و ادامه مطلب رو نشون بده که هر کسی از مطلب خوشش اومد رو ادامه مطلب کلیک کنه ، نشون نمیده همش کل مطلب رو نشون میده با اینکه هم کدش در تمپلاته که درست کردم هستش و هم از وردپرس تنظیماتشو درست انجام دادم اما باز درست نشون نمیده . ممنون میشم اکه راهنمایم کنی که این مشکل بزرگمو حل کنم ….
باتشکر
سلام
مرسی از مطلب خوبتون
من اینکارارو انجام دادم مطالب به برگه میره ولی تو صفحه اصلی هم میاد
میخوام دیگه تو صفحه اصلی نباشه چی کار کنم؟
مرسش
در کد اول باید یک ستاره دیگه هم قبل از Template Name وارد کنید ، یعنی در قسمت اول 2 ستاره و در قسمت دوم یک ستاره ، فکر کنم اینجوری مشکل نمایشش حل شه ;)
با تشكر از مطالب ارزنده شما
مي خواستم بپرسم ما اگه چندتا برگه داشته باشيم آيا بايد براي هركدام يك فايل جدا گانه درست كنيم؟ اسم هركدوم از فايلها چي باشه؟
@غدير 10 هجري, فکر کنم میتونه دلخواه باشه.
درصورتي كه بخواهيم نوشته ها در صفحه اصلي نمايش داده نشه چه كنيم؟ ايا افزونه اي براي اين كارها نيست؟
@غدير 10 هجري, داخل CODEX وردپرس جستجو کنید، حتماً پیدا می کنید :)
از راهنمايتون ممنونم
کسانی که کارهای بالا رو انجام دادن و نشده دقت کنین علامتهای ” و ‘ رو درست بذارین جواب میده احتمالا کدرو کپی کردین . من هم همون مشکل رو داشتم اما درست شد.
از سینا هم ممنونم چون خیلی دنبالش میگشتم.
سلام
من مدت ها دنبال همچین چیزی بودم … الان می خوام انجامش بدم. اگر کار کنه یه نمره 20 داری داداش
دوست گرامی ممنون مطلب خوبی نوشتید فقط اگه میشه یک مطلب تهیه کن راجع به این که چگونه برچسب های مرتبط با یک دسته بندی را در وردپرس نمایش دهیم. با سپاس