mahdi.a

رنگبندی خاص برای دسته های خاص

29 پست در این موضوع قرار دارد

سلام دوستان ...

توی انجمن گشتم ولی چنین تاپیکی ندیدم. میخواستم کاری کنم شبیه سایت ماندگاروب. یعنی برای هر دسته، رنگبندی خاصی برای صفحه اون دسته بندی داشته باشم.

مثلا صفحه دسته بندی سئو یه رنگی داشته باشه و صفحه دسته بندی امنیت یه رنگ دیگه و ...

خودم حسم براینه که میشه از کد زیر کمک گرفت برای اینکار !

این کد مربوط به یکی از دسته های سایت هستش.


<body class="rtl archive category category-1">

درسته ؟

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

تشکر

0

به اشتراک گذاری این پست


لینک به پست

سلام مهدی جان

شما به طور کلی دو راه داری

راه اول:

برای هر دسته یه فایل قالب بسازی. مثلا برای دسته شماره 1 اسم فایل میشه Category-1.php. و هر فایل رو استایل جداگونه بدی.

راه دوم:

از archive.php استفاده کنی و داخلش شرط بزاری. به عنوان مثال:


<?php if(is_category('1') ) { "<div id='cat1'></div>" } ?>

تک تک موارد رو با شرط بررسی می کنی و کلاس مربوطه برای هر کدوم رو لود می کنی.

2

به اشتراک گذاری این پست


لینک به پست

سلام مهدی جان

شما به طور کلی دو راه داری

راه اول:

برای هر دسته یه فایل قالب بسازی. مثلا برای دسته شماره 1 اسم فایل میشه Category-1.php. و هر فایل رو استایل جداگونه بدی.

راه دوم:

از archive.php استفاده کنی و داخلش شرط بزاری. به عنوان مثال:


<?php if(is_category('1') ) { "<div id='cat1'></div>" } ?>

تک تک موارد رو با شرط بررسی می کنی و کلاس مربوطه برای هر کدوم رو لود می کنی.

سلام مرتضی جان ...

ممنون از پاسخت. راه دوم خوبه، ولی ماندگاروب فکر کنم از کدی که گذاشتم استفاده کرده، درسته ؟ یعنی از کلاس تگ body استفاده کرده، درسته ؟

0

به اشتراک گذاری این پست


لینک به پست
سلام مرتضی جان ... ممنون از پاسخت. راه دوم خوبه، ولی ماندگاروب فکر کنم از کدی که گذاشتم استفاده کرده، درسته ؟ یعنی از کلاس تگ body استفاده کرده، درسته ؟

سلام ، خب میتونید کلاس ها رو از طریق پی اچ پی به صورت شرطی اضافه کنید

<body class="<?php if(is_category('1') ) { echo 'cat'; } elseif (is_category('2') { echo 'anothercat'; } else { echo 'othercats'; }  ?>">

1

به اشتراک گذاری این پست


لینک به پست

الان فرض مثال من میخوام صفحه اصلی سایت رو بعضی از قسمتهاشو ، متنهای بعضی کلاسها رو رنگ سبز مثلا بزنم و بکگراند بعضی از کلاس ها رو هم رنگ سبز بزنم، با استفاده از کد شرطی علی اقا به چه ترتیب میشه ؟!

با شرطی کردن به این صورت میشه که : مثلا وقتی صفحه اصلی هستیم یک کلاس مخصوص بادی به نام فرضی home-blog در صفحه اصلی داشته باشیم، و در دسته بندی با ایدی 12 مثلا کلاسی به نام cat-12 به بادی بدیم ... حالا من میخوام یکسری قسمتهای که از قبل مشخص شده و قراره فقط رنگهاش در صفحه های مختلف عوض بشه چطوری باید کلاس بدم ؟

0

به اشتراک گذاری این پست


لینک به پست

ابتدای حلقه single.php اضافه کنید


<?php
if(in_category(5)) {
$my_custom_class = 'my-custom-class';
}
else {
$my_custom_class = '';
}
?>

و در کلاس اولین div اکوش کنید:


<div class="post <?php echo $my_custom_class;?>">

فرض شده آی دی دسته بندیتون 5 باشه

و به my-custom-class در css استایل بدید

1

به اشتراک گذاری این پست


لینک به پست

خوب دوست عزیز این که مربوط میشه فقط به ادامه مطلب اون دسته بندی ! درسته ؟ میخوام جوری باشه که توی ارشیو هم از اون کلاس استفاده کنم !

0

به اشتراک گذاری این پست


لینک به پست

به دسته مورد نظر نامک دخواه رو بدید و در پوشه های قالب یک آرشیو با کلاس های دلخواه بسازید و نام آن را category-slug بگذارید.

slug همان نامک شما باید باشد.

آرشیو دسته مورد نظر از این قالب پیروی میکند و نه از archive.php.

ویرایش شده در توسط نایس تـم
1

به اشتراک گذاری این پست


لینک به پست

به دسته مورد نظر نامک دخواه رو بدید و در پوشه های قالب یک آرشیو با کلاس های دلخواه بسازید و نام آن را category-slug بگذارید.

slug همان نامک شما باید باشد.

آرشیو دسته مورد نظر از این قالب پیروی میکند و نه از archive.php.

خب اینی که شما عرض کردید میشه همون راه دوم اقا مرتضی ! درسته ؟ یعنی برای هر دسته بندی یک فایل ؟!

ببینید کار خیلی ساده ای هستش به نظرم، ولی توضیح دادنش سخته :)

0

به اشتراک گذاری این پست


لینک به پست
الان فرض مثال من میخوام صفحه اصلی سایت رو بعضی از قسمتهاشو ، متنهای بعضی کلاسها رو رنگ سبز مثلا بزنم و بکگراند بعضی از کلاس ها رو هم رنگ سبز بزنم، با استفاده از کد شرطی علی اقا به چه ترتیب میشه ؟! با شرطی کردن به این صورت میشه که : مثلا وقتی صفحه اصلی هستیم یک کلاس مخصوص بادی به نام فرضی home-blog در صفحه اصلی داشته باشیم، و در دسته بندی با ایدی 12 مثلا کلاسی به نام cat-12 به بادی بدیم ... حالا من میخوام یکسری قسمتهای که از قبل مشخص شده و قراره فقط رنگهاش در صفحه های مختلف عوض بشه چطوری باید کلاس بدم ؟

به اون قسمت ها هم به صورت شرطی کلاس بدید ، ببینید راهش همینه ، یا شما باید پرونده براش بسازین یا اینکه به صورت شرطی کلاس ها رو بدید یا به صورت شرطی کلّ صفحه رو دوباره تعریف کنید! حالا یکی از این 3 راه رو میتونید انتخاب کنید.

1

به اشتراک گذاری این پست


لینک به پست

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

برای دسته بندی :


is_category

برای کلاس های خودت مثلا :


<div class="categpry-1">
</div>

<div class="categpry-2">
</div>

<div class="categpry-3">
</div>

<div class="categpry-n">
</div>

کلاسهارو هم با خود توابع میتونی بزاری :


the_category_ID();

حالا واس هر دسته بندی یه کلاس جدا داری که میتونی تو css به هر کدوم استایل بدی که خود css رو هم دوباره میتونی با توابع بدی که کارت راحت تر باشه

3

به اشتراک گذاری این پست


لینک به پست

سلام ...

من با کمک یکی از دوسنان خوبم به شکل زیر تونستم رنگبندی خاص خودم رو روی دسته بندیهای مختلف پیاده کنم.

با توجه به کد :


<body <?php body_class(); ?>>

با توجه به این کد که در همه قالبهای استاندارد هم هستش من به دسته های مختلف، رنگهای مختلف دادم، حالا یه مشکلی پیش اومده اونم اینه که دیگه ادامه مطلبهای اون دسته ها از اون رنگهای دسته هاشون استفاده نمیکنن !!!! فقط زمانی که توی صفحه مربوط به اون دسته بندی میرم اون تغییرات رو میبینم، میشه شما توضیح بدید ؟

اون دوستمون بنده خدا دیر به دیر به نت سر میزنه و به همین خاطر مزاحم شما دوستان شدم.

مرسی

0

به اشتراک گذاری این پست


لینک به پست

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

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

در اینصورت به بادی مطلبت یک کلاس اضافه میشه برای اون ساختاری که تعریف کردی.

مثلا میتونی ساختار استاندارد تعریف کنی صفحه اخبار، کتگوری.

نمونه استایلت اینجوری در کلاس body به عنوان مثال اینجوری نمایش داده میشه :


<body class="rtl single single-post postid-64 single-format-standard logged-in admin-bar no-customize-support gecko">

یا


<body class="rtl single single-post postid-64 single-format-news logged-in admin-bar no-customize-support gecko">

که در این صورت علاوه بر استایل دلخواه (برای مثال بالایی کلاس single-format-news) ساختار متفاوتی برای صفحه های اختصاصی ایجاد کنی.

1

به اشتراک گذاری این پست


لینک به پست

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

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

در اینصورت به بادی مطلبت یک کلاس اضافه میشه برای اون ساختاری که تعریف کردی.

مثلا میتونی ساختار استاندارد تعریف کنی صفحه اخبار، کتگوری.

نمونه استایلت اینجوری در کلاس body به عنوان مثال اینجوری نمایش داده میشه :


<body class="rtl single single-post postid-64 single-format-standard logged-in admin-bar no-customize-support gecko">

یا


<body class="rtl single single-post postid-64 single-format-news logged-in admin-bar no-customize-support gecko">

که در این صورت علاوه بر استایل دلخواه (برای مثال بالایی کلاس single-format-news) ساختار متفاوتی برای صفحه های اختصاصی ایجاد کنی.

سلام دوست عزیز ... ممنون از پاسخت.

من الان سه تا دسته بندی دارم به نام های 1-فیلم و 2-سریال و 3-موزیک، با استفاده از همون کدی که گفتم و کلاس بندی، برای هر دسته، یک رنگ بکگراند انتخاب کردم، مثلا دسته موزیک رنگ بکگراندش رو کردمش سبز و .... و فیلم رو ابی و سریال رو هم زرد کردم.

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

0

به اشتراک گذاری این پست


لینک به پست

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

اگه ساختار تعریف کنید مثلا برای هر کدام از دسته هات (فیلم،سریال،موزیک) یک کلاس به بادیت اضافه میشه که دادن استایل با توجه به اون حداقل کاری است که میشه انجام داد.

مثال :

Untitled_1.jpg

که شما میتونی خیلی راحت نوع پستت رو انتخاب کنی .

سرچ بکن این امکان رو اضافه کن متوجه میشی.

1

به اشتراک گذاری این پست


لینک به پست

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

اگه ساختار تعریف کنید مثلا برای هر کدام از دسته هات (فیلم،سریال،موزیک) یک کلاس به بادیت اضافه میشه که دادن استایل با توجه به اون حداقل کاری است که میشه انجام داد.

مثال :

Untitled_1.jpg

که شما میتونی خیلی راحت نوع پستت رو انتخاب کنی .

سرچ بکن این امکان رو اضافه کن متوجه میشی.

خب این موضوع ساختار به نظرم برای پستهای قبلی مشکل ساز میشه ! درسته ؟ یعنی اونا دیگه از خاصیت جدید پیروی نمیکنن، درسته ؟

0

به اشتراک گذاری این پست


لینک به پست
خب این موضوع ساختار به نظرم برای پستهای قبلی مشکل ساز میشه ! درسته ؟ یعنی اونا دیگه از خاصیت جدید پیروی نمیکنن، درسته ؟

بله . باید اونها رو ویرایش کنی تا درست بشه. که اگه پست هات زیاد باشه مشکله

1

به اشتراک گذاری این پست


لینک به پست

بله . باید اونها رو ویرایش کنی تا درست بشه. که اگه پست هات زیاد باشه مشکله

یعنی دیگه هیچ راهی وجود نداره غیر از ساختار ؟!

0

به اشتراک گذاری این پست


لینک به پست

دوستان خواهشا راهنمایی کنن، راه دیگه ای وجود نداره ؟

0

به اشتراک گذاری این پست


لینک به پست
دوستان خواهشا راهنمایی کنن، راه دیگه ای وجود نداره ؟

دوست عزیز!!!

الآن 4 روش برای انجام اینکار بهتون پیشنهاد شده!

مشکل چیه؟

اگر تغییرات جزئی هست و مشکل پست های قبلیتون هم مطرح هست میتونین از دستورات شرطی برچسب یا دسته بندی استفاده کنید.

اگر تغییرات کلّی و مشکل پست های قبلیتون هم مطرح هست میتونین از پرونده جدید برای دسته بندی استفاده کنید

اگر میخواین از این به بعد اینکار خاص رو انجام بدید میتونین از ساختار استفاده کنید

اگر میخواین یه چیز درجه یک و کامل داشته باشین و برای از این به بعد استفاده اش کنید استفاده از post_type مطرحه!

1

به اشتراک گذاری این پست


لینک به پست

دوست عزیز!!!

الآن 4 روش برای انجام اینکار بهتون پیشنهاد شده!

مشکل چیه؟

اگر تغییرات جزئی هست و مشکل پست های قبلیتون هم مطرح هست میتونین از دستورات شرطی برچسب یا دسته بندی استفاده کنید.

اگر تغییرات کلّی و مشکل پست های قبلیتون هم مطرح هست میتونین از پرونده جدید برای دسته بندی استفاده کنید

اگر میخواین از این به بعد اینکار خاص رو انجام بدید میتونین از ساختار استفاده کنید

اگر میخواین یه چیز درجه یک و کامل داشته باشین و برای از این به بعد استفاده اش کنید استفاده از post_type مطرحه!

من میخوام بدونم یعنی از همون روشی که گفتم نمیشه به ادامه مطلبهای هر دسته خاص هم استایل داد ؟

0

به اشتراک گذاری این پست


لینک به پست

الان علی اقا من میخوام از همون دستور شرطی استفاده کنم، اومدم اینجوری زدم :


<body class="<?php if(is_blog) { echo 'home-blog'; } elseif (is_category('1') { echo 'anothercat'; } else { echo 'othercats'; } ?>">

منتهی دیگه سایت بالا نمیادش و ارور میگیره از همین لاین !! اومدم تو این شرط گفتم که اگر صفحه اصلی بود با این home-blog کلاس و اگه توی دسته بندی 1 بود با کلاس anothercat و ...

یعنی الان کدم اشتباه ؟

0

به اشتراک گذاری این پست


لینک به پست


<body class="<?php if( is_home() || is_front_page()) { echo 'home-blog'; } elseif (is_category('1')) { echo 'anothercat'; } else { echo 'othercats'; } ?>">

اشتباه از اونجا بود که شرط رو اشتباه اعمال کرده بودین

وقتی دستور شرطی

is_category()

هست شما پرانتز های خود if() هم باید در نظر بگیرید...

1

به اشتراک گذاری این پست


لینک به پست


<body class="<?php if( is_home() || is_front_page()) { echo 'home-blog'; } elseif (is_category('1')) { echo 'anothercat'; } else { echo 'othercats'; } ?>">

اشتباه از اونجا بود که شرط رو اشتباه اعمال کرده بودین

وقتی دستور شرطی

is_category()

هست شما پرانتز های خود if() هم باید در نظر بگیرید...

ممنون علی اقا ...

ایا این شرط گذاری برای ادامه مطلبها هم استفاده میشه ؟

1

به اشتراک گذاری این پست


لینک به پست
ممنون علی اقا ... ایا این شرط گذاری برای ادامه مطلبها هم استفاده میشه ؟

بله ، با شرط is_single همینطور برای خیلی چیزای دیگه...

https://codex.wordpress.org/Conditional_Tags

1

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری