رفتن به مطلب

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


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

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

 

شما در این مقاله خواهید خواند:

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

 

زمینه های دلخواه وردپرس چیست؟

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

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

 

%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%B2%D9

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

%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%B2%D9

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

 

اضافه کردن زمینه های دلخواه به وردپرس

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

%D8%B2%D9%85%DB%8C%D9%86%D9%87-%D9%87%D8

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

%D8%B2%D9%85%DB%8C%D9%86%D9%87-%D9%87%D8

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

 

نمایش زمینه های دلخواه در تم های وردپرس

برای نمایش زمینه های دلخواه در وبسایت وردپرس باید فایل تم وردپرس را ویرایش کنید. در ابتدا باید ویرایش را طوری انجام دهید که در نتیجه آن زمینه های دلخواه نمایش داده شود. شاید بخواهید زمینه های دلخواه فقط در صفحه پست ها نمایش داده شود. برای این کار باید single.php یا content-single.php را ویرایش کنید.

 

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

شروع کد لوپ مانند کد زیر است :

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

و پایان کد لوپ مانند کد زیر می باشد:

 
<?php endwhile; // end of the loop. ?>

کد زیر جهت نمایش یک زمینه دبخواه در داخل حلقه می باشد که باید بین شروع و پایان کد های بالا قرار بگیرد:

 
<?php echo get_post_meta($post->ID, 'key', true); ?>

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

مثلا با این کد ما زمینه دلخواه mood را که قبلا تعریف کرده بودیم به پست خود اضافه میکنیم:

 
<p>Today's Mood: <?php echo get_post_meta($post->ID, 'Mood', true); ?></p>

حال می توانید تغییرات را ذخیره کنید و زمینه های دلخواه که اضافه کردید را در عمل ببینید.

%D8%B2%D9%85%DB%8C%D9%86%D9%87-%D9%87%D8

پس از ذخیره تغییرات، زمینه های دلخواه وردپرس در پست ها قابل استفاده است. هم برای پست های جدید و هم برای پست های قدیمی.

 

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

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

بهترین راه برای این کار استفاده از افزونه Advanced Custom Fields است. با استفاده از این افزونه می توانید زمینه دلخواه، با امکانات فراوان به وردپرس اضافه کرد.

 

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

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

<?php 

$mood = get_post_meta($post->ID, 'Mood', true);

if ($mood) { ?>

<p>Today's Mood: <? echo $mood; ?></p>

<?php } ?>

فراموش نکنید Mood را با نام زمینه دلخواه خود جایگزین کنید.

 

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

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

%D8%B2%D9%85%DB%8C%D9%86%D9%87-%D9%87%D8

در کد هایی که در بالا برای مثال استفاده کردیم فقط می توانستیم مقادیر تکی یا واحد را نمایش بدهیم برای نشان دادن همه مقادیر زمینه دلخواه باید کدی را تهیه کنیم که در یک آرایه قابل بازگشت باشد. برای این کار این کد ها را به فایل تم خود اضافه کنید.

<?php 
$mood = get_post_meta($post->ID, 'Mood', false);
if( count( $mood ) != 0 ) { ?>
<p>Today's Mood:</p>
<ul>
<?php foreach($mood as $mood) {
            echo '<li>'.$mood.'</li>';
            }
            ?>
</ul>
<?php }?>

فراموش نکنید که کلمه Mood را با نام زمینه دلخواه خود جایگزین کنید. در این مثال، باید توجه کنید که ما پارامتر آخری get_post_meta  را به غلط یا فالس تبدیل کنیم. این پارامتر تعریف می کند که تابع باید یک مقدار واحد را برگرداند یا نه. تغییر تنظیم به فالس یا غلط به شما اجازه می دهد که اطلاعات را به عنوان یک آرایه دریافت کنید.

 

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

وردپرس به شما این اجازه را می دهد که بر اساس کلید دلخواه زمینه دلخواه مطالبی را نمایش بدهید. مثلا اگر می خواهید یک صفحه آرشیو از نوشته هایی که زمینه دلخواه Mood آنها مقدار Happy میباشد را نمایش بدهید ، می توانید از کلاس WP_Query برای فراخوانی پست ها بر اساس زمینه های دلخواه استفاده کنید.

 

برای شروع می توانید از کدهای زیر استفاده کنید:

$args = array(
	'meta_key'   => 'Mood',
	'meta_value' => 'Happy'
);
$the_query = new WP_Query( $args );

<?php 
// the query
$the_query = new WP_Query( $args ); ?>

<?php if ( $the_query->have_posts() ) : ?>

	<!-- the loop -->
	<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
		<h2><?php the_title(); ?></h2>
		<?php the_content(); ?>

	<?php endwhile; ?>
	<!-- end of the loop -->

	<!-- pagination here -->

	<?php wp_reset_postdata(); ?>

<?php else : ?>
	<p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>

فراموش نکنید که پارامترهای مقدار meta_key و meta_value را با مقادیر خودتان جابجا کنید.

 

اضافه کردن نویسنده مهمان با زمینه های دلخواه

آیا می خواهید یک نویسنده مهمان بدون اضافه کردن کاربر جدید برای نوشتن یک پست جدید اضافه کنید. یک راه آسان برای این کار اضافه کردن نام نویسنده به عنوان زمینه دلخواه است. برای این کار ابتدا باید کدهای زیر را در فایل functions.php اضافه کنید.

add_filter( 'the_author', 'guest_author_name' );
add_filter( 'get_the_author_display_name', 'guest_author_name' );
function guest_author_name( $name ) {
global $post;
$author = get_post_meta( $post->ID, 'guest-author', true );
if ( $author )
$name = $author;
return $name;
}

این کد تابع the_author  و get_the_author_display_name  را در وردپرس فیلتر می کند. در حقیقت این تابع در ابتدا نام نویسنده را چک می کند. اگر زمینه دلخواه نویسنده مهمان(guest-author) وجود داشت، نام نویسنده را با نام نویسنده میهمان جایگزین می کند. 

 

نمایش همکاران نویسنده در مقاله

در بسیاری از بلاگ های محبوب یا سایت های خبری تعداد زیادی نویسنده برای نوشتن مقاله همکاری می کنند. از طرف دیگر وردپرس فقط به شما اجازه انتشار نام یک نفر را می دهد. برای حل این مشکل باید از افزونه  Co-Authors Plusاستفاده کنید. راه حل دیگر اضافه کرده نویسندگان همکار با استفاده زمینه های دلخواه است. برای این کار ابتدا باید مکانی را برای انتشار نام همکاران در نظر بگیرید. سپس در پایین صفحه در متاباکس زمینه دلخواه نام نویسنده ها را به عنوان زمینه دلخواه نویسندگان همکار اضافه کنید.

%D8%B2%D9%85%DB%8C%D9%86%D9%87-%D9%87%D8

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

<?php 

$coauthors = get_post_meta($post->ID, 'co-author', false);
if( count( $coauthors ) != 0 ) { ?>
<ul class="coauthors">
<li>Contributors</li>
<?php foreach($coauthors as $coauthors) { ?>
           <?php echo '<li>'.$coauthors.'</li>' ;
            }
            ?>
</ul>
<?php }?>

برای نمایش نام کاربران و استفاده از کاما بین نام کاربران کد زیر را استفاده کنید:

.coauthors ul { 
display:inline;
}
.coauthors li { 
display:inline;
list-style:none;
}
.coauthors li:after { 
content:","
}
.coauthors li:last-child:after {
    content: "";
}
.coauthors li:first-child:after {
    content: ":";
}

تغییرات با استفاده از کدهای بالا به صورت تصویر زیر در آمده است:

%D8%B2%D9%85%DB%8C%D9%86%D9%87-%D9%87%D8

 

نمایش زمینه های دلخواه خارج از حلقه یا لوپ

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

<?php
global $wp_query;
$postid = $wp_query->post->ID;
echo get_post_meta($postid, 'key', true);
wp_reset_query();
?>

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

اما ما قبلا در مطلبی به شما در خصوص "نمایش زمینه های دلخواه بیرون حلقه در وردپرس" آموزش داده ایم.

 

نحوه نشان دادن هدر، فوتر و سایدبار دلخواه با استفاده از زمینه دلخواه

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

%D8%B2%D9%85%DB%8C%D9%86%D9%87-%D9%87%D8

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

 
<?php get_sidebar(); ?>

کدهای بالا را با کدهای زیر عوض کنید:

<?php 
global $wp_query;
$postid = $wp_query->post->ID;
$sidebar = get_post_meta($postid, "sidebar", true);
get_sidebar($sidebar);
wp_reset_query();
?>

این کد به سادگی به دنبال سایدبار زمینه دلخواه می گردد و آن را بر روی تم نمایش می دهد.برای مثال اگر wpbpage را به عنوان ساید بار دلخواه اضافه کنید، کدها sidebar-wpbpage.php را جست و جو کرده و نمایش می دهند. برای این کار شما باید sidebar-wpbpage.php را در فایل تم خود بسازید. برای شروع می توانید کد ها را از فایل sidebar اصلی کپی کنید.

 

تغییر در محتوای RSS مطالب با زمینه های دلخواه

آیا می خواهید محتوای بیشتر یا محتوای خاصی را به RSS اضافه کنید ؟ استفاده از زمینه های دلخواه برای این موضوع می تواند راه خوبی برای نمایش محتوای اضافه در RSS باشد.

برای این کار ابتدا باید کدهای زیر را در فایل functions.php قالب خود اضافه کنید.

function wpbeginner_postrss($content) {
global $wp_query;
$postid = $wp_query->post->ID;
$coolcustom = get_post_meta($postid, 'coolcustom', true);
if(is_feed()) {
if($coolcustom !== '') {
$content = $content."<br /><br /><div>".$coolcustom."</div>
";
}
else {
$content = $content;
}
}
return $content;
}
add_filter('the_excerpt_rss', 'wpbeginner_postrss');
add_filter('the_content', 'wpbeginner_postrss');

بعد از آن یک زمینه دلخواه با نام coolcustom ساخته و مقادیری که دلخواه شماست را وارد آن کنید. شما می توانید از این مورد برای تبلیغات، عکس، متن یا دیگر موارد استفاده کنید.

 

تغییر در عنوان RSS مطالب با زمینه های دلخواه

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

برای این کار باید به فایل functions.php مربوط به تم وبسایت خود کدهای زیر را اضافه کنید.

function wpbeginner_titlerss($content) {
global $wp_query;
$postid = $wp_query->post->ID;
$gpost = get_post_meta($postid, 'guest_post', true);
$spost = get_post_meta($postid, 'sponsored_post', true);

if($gpost !== '') {
$content = 'Guest Post: '.$content;
}
elseif ($spost !== ''){
$content = 'Sponsored Post: '.$content;
}
else {
$content = $content;
}
return $content;
}
add_filter('the_title_rss', 'wpbeginner_titlerss');

بعد از این کار باید پستی را که می خواهید به تیتر آن متنی اضافه کنید را ویرایش کرده و guest_post و sponsored_post را به زمینه دلخواه اضافه کنید.

%D8%B2%D9%85%DB%8C%D9%86%D9%87-%D9%87%D8

اگر مقادیر هر یک از این دو زمینه دلخواه true باشد قبل از عنوان متن مورد نظر شما نمایش داده میشود که در اینجا برای اسپانسر "Sponsored Post: "میباشد، و برای مهمان "Guest Post: ". این تکنیک با روش های مختلفی قابل اجراست.

 

تنظیم تاریخ انقضا برای پست

چگونه می توان تاریخ انقضا برای یک پست قرار داد؟

برخی اوقات برای شما اتفاق می افتد که می خواهید یک پست را با تاریخ انقضا مشخص بر روی وبسایت خود قرار دهید. مثلا وقتی یک پیشنهاد تجاری برای مدت زمانی محدود در نظر گرفته اید. یکی از راه های موجود استفاده از افزونه Post Expirator است. اما با زمینه های دلخواه وردپرس نیز می توان پس از زمان مشخصی به صورت خودکار یک پست را پاک کرد. برای این کار می توانید با استفاده از کد زیر و اضافه آن به حلقه وردپرس این کار را انجام دهید:

<?php
if (have_posts()) :
while (have_posts()) : the_post(); 
$expirationtime = get_post_meta($post->ID, "expiration", false);
if( count( $expirationtime ) != '' ) { 
if (is_array($expirationtime)) {
$expirestring = implode($expirationtime);
}

$secondsbetween = strtotime($expirestring)-time();
if ( $secondsbetween >= 0 ) {
echo 'This post will expire on ' .$expirestring.'';
the_content();
} else { 
echo "Sorry this post expired!"
}
} else { 
the_content();
} 
endwhile;
endif;
?>

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

 
mm/dd/yyyy 00:00:00

%D8%B2%D9%85%DB%8C%D9%86%D9%87-%D9%87%D8

 

بارگزاری پست های منحصر به فرد

آیا میخواهید با سی اس اس پست های تکی و منحصر بفرد بگذارید؟

وردپرس این کار را برای شما به صورت خودکار انجام می دهد که هر پست را با کد دلخواه سی اس اس و کلاس دلخواهتان منتشر کنید. در هرصورت با زمینه های دلخواه می توانید کلاس های مختلفی را بکارگیری کرده و پست های مختلف با شکل های مختلفی را بارگزاری کنید.  برای این کار ابتدا باید پستی را که می خواهید شکل متفاوتی دارد را ویرایش کنید. به قسمت زمینه های دلخواه رفته و سپس به قسمت در قسمت زمینه های دلخواه post-class  را اضافه میکنیم.

%D8%B2%D9%85%DB%8C%D9%86%D9%87-%D9%87%D8

پس از آن باید تم وردپرس را ویرایش نموده و به ابتدای حلقه یا لوپ اضافه کنید.

 
<?php $custom_values = get_post_meta($post->ID, 'post-class'); ?>

هم اکنون شما تابع post_class()پیدا کنید. 

 
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

این خط را برای اضافه کردن زمینه دلخواه خود تغییر دهید، و اگر ندارید میتوانید مانند زیر آن را در div اصلی یا article اصلی اضافه کنید.

 
<article id="post-<?php the_ID(); ?>" <?php post_class($custom_values); ?>>

اگر کدها را با Inspect tool امتحان کنید می بینید که کلاس سی اس اس چگونه به کلاس پست شما اضافه شده است.

%D8%B2%D9%85%DB%8C%D9%86%D9%87-%D9%87%D8

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

 

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

منبع : 

https://fenix.ir/?p=884

لینک به ارسال

بله حتما این مورد به وبسایت اضافه خواهد شد 

لینک به ارسال

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

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

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

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

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

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

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

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

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