رفتن به مطلب

قرمز کردن تیتر مهم با زمینه دلخواه


پست های پیشنهاد شده

با سلام

این اولین پست من در انجمن وردپرس فارسی است.

سوال من اینه: چطور میتونم با استفاده از زمینه های دلخواه، لینک بعضی از مطالب دلخواه رو در صفحه اصلی سایت قرمز (اصطلاحا داغ) کنم

مثل این نمونه:

r8m_redtitr.jpg

لینک به ارسال

سلام ، به انجمن خوش اومدید

لطفاً قبل از ارسال تاپیک قوانین رو بخونین

بار ها توی انجمن توضیح دادیم! یه دسته بندی ، برچسب یا زمینه دلخواه درست کنید و با یه کد شرطی چک کنید اگر اون برچسب رو خورده بود ، توی اون دسته بندی بود یا اون زمینه دلخواه رو داشت بنویسه جدید یا یه عکسی رو بذاره.

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

که البتّه متأسفانه لینکش رو پیدا نکردم

یه نمونه ای که یکی از دوستان در مورد زمینه دلخواه توضیح داده:

بازم اگر بگردید فکر کنم بتونید اون تاپیک جامع تر رو پیدا کنید...

لینک به ارسال

با تشکر از خوشآمدگویی و هم چنین پاسخ شما

لینکی که فرمودید رو من قبلا مطالعه کرده بودم ولی یک ایراد اساسی داشت و اون هم این که این کدها برای "حلقه وردپرس" جواب میده نه در جای دیگه (هرچند بعضی از دوستان اونجا گفتن که اصلا جواب نگرفتن)

و دوم این که نحوه انجام کار رو اصلا نگفتن.

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

ویرایش شده توسط طاها
لینک به ارسال
با تشکر از خوشآمدگویی و هم چنین پاسخ شما لینکی که فرمودید رو من قبلا مطالعه کرده بودم ولی یک ایراد اساسی داشت و اون هم این که این کدها برای "حلقه وردپرس" جواب میده نه در جای دیگه (هرچند بعضی از دوستان اونجا گفتن که اصلا جواب نگرفتن) و دوم این که نحوه انجام کار رو اصلا نگفتن. برای اون پستی هم که گفتید جامع هست خیلی گشتم ولی پیدا نکردم. شاید تیتر عنوانش متفاوت باشه

شما توی چه کدی میخواین ایجادش کنین دقیقاً که نمیشه؟

کدتون رو بدید لطفاً.

لینک به ارسال

در یک کوئری هست


<?php
$my_query = new WP_Query('showposts='.$tab_num.'&cat='.$tab_cat1);
while ($my_query->have_posts()):
$my_query->the_post();
?>
<li class="right"><a href="<?php the_permalink(); ?>" target="_blank" ><?php the_title(); ?></a></li>

لینک به ارسال

:| انشاءالله حتماً بعداً یادمون بدید که فرق حلقه وردپرس و کوئری شما چیه دقیقاً...

یه زمینه دلخواه بسازید به نام mohem اگر هر مقداری واردش بشه کلاس mohem رو چاپ میکنه ، حالا میخواین استایل background:Red بدید یا هرچیز دیگه با خودتون هست...


<?php
$my_query = new WP_Query('showposts='.$tab_num.'&cat='.$tab_cat1);
while ($my_query->have_posts()):
$my_query->the_post();
?>
<li class="right <?php if(get_field('mohem')) { echo 'mohem'; } ?>"><a href="<?php the_permalink(); ?>" target="_blank" ><?php the_title(); ?></a></li>

یا یه دسته بندی بسازید با اسلاگ mohem و شرط رو تغییر بدید به in_category

لینک به ارسال

دست شما درد نکنه

:| انشاءالله حتماً بعداً یادمون بدید که فرق حلقه وردپرس و کوئری شما چیه دقیقاً...

آقا با ناشی ها مهربون باشین

بازم ممنون

لینک به ارسال

آقای زینلی عزیز

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

به این صورت که مثلا اگر نام زمینه دلخواه "mohem" و مقدار "1" باشه تیتر رو قرمز کنه و در غیر این صورت تیتر رو دستکاری نکنه. ("در غیر این صورت" یعنی وقتی هیچ نام و مقداری وارد نشه)

اینجا دیگه نباید چیزی به استایل اضافه کرد؟؟

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

دست شما درد نکنه

آقا با ناشی ها مهربون باشین

بازم ممنون

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

آقای زینلی عزیز

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

به این صورت که مثلا اگر نام زمینه دلخواه "mohem" و مقدار "1" باشه تیتر رو قرمز کنه و در غیر این صورت تیتر رو دستکاری نکنه. ("در غیر این صورت" یعنی وقتی هیچ نام و مقداری وارد نشه)

اینجا دیگه نباید چیزی به استایل اضافه کرد؟؟

ببینید به استایل ها شما باید یه mohem حتماً اضافه کنید در هر صورت ، یادتون هم باشه که بعد از اعمال تغییرات باید حتماً دکمه F5 رو بزنید تا تغییرات روی مرورگرتون اعمال بشه.

اگر میخواین مقدار به عنوان مثال 1 رنگ پس زمینه اتون رو قرمز کنه شرط بالا رو باید تغییر بدید به


<?php
$my_query = new WP_Query('showposts='.$tab_num.'&cat='.$tab_cat1);
while ($my_query->have_posts()):
$my_query->the_post();
?>
<li class="right <?php if(get_post_meta($post->ID, 'mohem', true) == 1) { echo 'mohem'; } ?>"><a href="<?php the_permalink(); ?>" target="_blank" ><?php the_title(); ?></a></li>

اگر هم میخواین توی استایل تغییرات ایجاد نکنید بهتره که بعد از echo بذارید: style="background:red;"

موفّق باشید.

لینک به ارسال

الان کدی که فرمودید رو به صورت زیر وارد کردم ولی اتفاقی نیفتاد:


<li class="right<?php if(get_post_meta($post->ID, 'hotnews', true) == 1) { echo 'style="background:red;"'; } ?>">

به صورت زیر هم وارد کردم ولی باز هیچ اتفاقی نمی افته.


<li class="right<?php
$hotnews = get_post_meta($post->ID, "hotnews", true);
if( $hotnews == '1' ) {echo 'style="background:red;"';} ?>">

توی زمینه های دلخواه هم اسم رو "hotnews" و مقدار رو 1 قرار دادم

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

:| برای اینکه به کدتون یکم دقّت کنید که اگر صحیح جور بشه چه اتفّاقی میفته:


<li class="rightstyle="background:red;"">

اینجوری باید باشه:


<li class="right" <?php if(get_post_meta($post->ID, 'hotnews', true) == 1) { echo 'style="background:red;"'; } ?>> بقیه کد </li>

موفّق باشید.

لینک به ارسال

بله درسته الان متوجهش شدم. ممنون از لطف شما

الان کد رو اعمال کردم و درست شد.

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


style="background:red;"

این کدرو قرار دادم


style="color:red;"

یعنی به این صورت:


<li class="right" <?php if(get_post_meta($post->ID, 'hotnews', true) == 1) { echo 'style="color: red;"'; } ?>>

ولی رنگ تیتر تغییری نمیکنه. شرمنده دیگه قول میگم آخرین مزاحمت باشه براتون.

ویرایش شده توسط طاها
لینک به ارسال
بله درسته الان متوجهش شدم. ممنون از لطف شما الان کد رو اعمال کردم و درست شد. فقط اگر یه راهنمایی دیگه بکنید ممنون میشم. الان این استایل مربوط به بکگرانده و پس زمینه تیتر رو قرمز میکنه. به جای
 style="background:red;" 

این کدرو قرار دادم

 style="color:red;" 

ولی رنگ تیتر تغییری نمیکنه. شرمنده دیگه قول میگم آخرین مزاحمت باشه براتون.

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

دلیلش اینکه یه استایل دیگه به صورت !important بهش داده شده

یا !important اون رو پاک کنید یا به این !important بدید ، به این صورت:

style="color:red !important;

لینک به ارسال

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

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

اینجوری دیگه هرچی نوشته باشه قرمز میشه:


<li style="color:red !important;" onmouseover="this.style.color='red'" onmouseout="this.style.color='red'">بقیه کد</li>

لینک به ارسال
این خطا رو میده

کد رو اشتباه ادغام کردید:

<li class="right" <?php if(get_post_meta($post->ID, 'hotnews', true) == 1) { ?> style="color:red !important;" onmouseover="this.style.color='red'" onmouseout="this.style.color='red'" <?php } ?>>بقیه کد</li>

لینک به ارسال

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


<li class="right" <?php if(get_post_meta($post->ID, 'hotnews', true) == 1) { ?> style="color:red !important;" onmouseover="this.style.color='red'" onmouseout="this.style.color='red'" <?php } ?>>بقیه کد</li>

یه دقت کنید که


?>

کجا قرار داره و اون یکی


?php

کجاس.

بعد الان این دستور echo کجا رفت؟

لینک به ارسال

آقا مشکل رو پیدا کردم

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

کد رو اینطور اصلاح کردم و درست شد:


<li class="right" ><a href="<?php the_permalink(); ?>" target="_blank" <?php if(get_post_meta($post->ID, 'hotnews', true) == 1) { echo
'style="color: red;"'; } ?>><?php the_title(); ?></a></li>

لینک به ارسال

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


<li class="right" <?php if(get_post_meta($post->ID, 'hotnews', true) == 1) { ?> style="color:red !important;" onmouseover="this.style.color='red'" onmouseout="this.style.color='red'" <?php } ?>>بقیه کد</li>

یه دقت کنید که


?>

کجا قرار داره و اون یکی


?php

کجاس.

بعد الان این دستور echo کجا رفت؟

کد کاملاً درسته ، برای PHP فرقی نمیکنه که زمانی که دارین دستور رو وارد میکنین بسته شده باشه یا باز ، این کد همونه ، میشد جور های دیگه هم نوشتش ولی این آسون ترین راهش هست ، میاد اگر شرطتون درست بود اون تیکه HTML رو وارد میکنه و اگرم نبود که هیچی...

لینک به ارسال
  • 2 ماه بعد...

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

لینک به ارسال

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


<ul>
<?php
global $post;
$myposts = get_posts(array('numberposts' => 35, 'offset' => 0,'post_status'=>'publish'));
foreach($myposts as $post) :
setup_postdata($post);?>
<li class="post_format_<?php echo get_post_format( get_the_ID() ) ?>" >
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
<?php $radio = get_field('radio');
if($radio == 'Yes') {?>
<div class="red-link"><?php the_title(); ?></div>
<?php } else{?>
<p><?php the_title(); ?></p>
<?php } ?>
</a>
</li>
<?php endforeach; ?>
<?php wp_reset_query(); ?>
</ul>

شما کافی است یک دکمه رادیویی با نام radio درست کنید بعد از این کد استفاده کنید(این کد مربوط به آخرین اخبار سایت می باشد.)

البته یک ویژگی دیگر هم دارد، آن هم به عهده خود دوستان که کد نویسی استایل را باید خودشان انجام دهند.

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


<li class="post_format_<?php echo get_post_format( get_the_ID() ) ?>" >

که می توانید با آن کنار لینک عکس ویدیو یا عکس بگذارید.مثل خبرگزاری ایرنا

لینک به ارسال

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

1- اضافه کردم ارور میده ، رو خط رادیو ایراد میگیره

2- فک کنم دکمه رادیویی رو تو قسمت ارسال مطلب باید ایجاد کرد و با فعال بودنش کلاس red-link در تیتر مطالب اعمال بشه.. اما ظاهر این کد اینطوری نیست!

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

بله یک رادیو با دو اپشن Yes و No در قسمت مطالب با افزونه advance custom field باید ایجاد کنید.

اون کلاس را با !important چک کنید ببنید درست میشه یا نه

لینک به ارسال

سلام

من به این صورت کدها رو در پوسته 2015 وردپرس استفاده می کنم:

PHP:


<header class="entry-header">
<?php
if ( get_field('redtitle') ) :
the_title( sprintf( '<h2 class="red-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' );
else :
the_title( sprintf( '<h2 class="black-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' );
endif;
?>
</header>

CSS:


.black-title a {color:black}
.red-title a {color:red}

توی افزونه Advanced Custom Fields یک زمینه با مشخصات زیر بسازید:

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

نام زمینه: redtitle

نوع زمینه: جعبه انتخاب (چک باکس)

در قسمت انتخاب ها هم این رو وارد کنید:

red : آیا این نوشته مهم است؟

post-3225-0-83303500-1443538943_thumb.pn

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

به گفتگو بپیوندید

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

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...