تا بحال فکرد کردهاید که فیلد سفارشی در وردپرس چیست؟ میخواهید بدانید چگونه کار میکند؟ با ما همراه باشید تا با ترفندها و نکات موردنیاز آشنا شوید.
فیلد سفارشی چیست؟
فیلد سفارشی در وردپرس متادیتاهایی است که برای اضافه کردن اطلاعات بیشتر به پست یا صفحه استفاده میشود همانند عنوان، نام نویسنده، تاریخ و زمان و غیره. در حالت پیشفرض زمانی که پست جدیدی مینویسید یا محتوایی را برای سایتتان آماده میکنید، وردپرس آن را در دو قسمت ذخیره میکند. قسمت اول بدنه محتوی است که با استفاده از ویرایشگر متن این کار را انجام میدهید. قسمت دوم اطلاعاتی درباره محتوی خاص مطلب میباشد. برای مثال عنوان، نویسنده، تاریخ، زمان و غیره میباشد که این اطلاعات قسمتی از پست است که به آنها متادیتا گفته میشود.
وردپرس بهصورت اتوماتیک تمامی متادیتاهای موردنیاز را به هر پست اضافه میکند. با استفاده از فیلدهای سفارشی امکان اضافه کردن متادیتاهای موردنظر کاربران نیز امکانپذیر شده است. در حالت پیشفرض فیلدهای سفارشی در صفحه ویرایش پست مخفی میباشد. برای نمایش آنها باید از دکمه Screen Options که در بالای صفحه قرار دارد، چک باکس فیلدهای سفارشی را در حالت انتخاب قرار دهید.
اگر کمی اسکرول بسمت پائین کنید، فیلدهای سفارشی را خواهید دید.
فیلد سفارشی هر اطلاعاتی که کاربر بخواهد را به هر محتویای میتواند اضافه کند. این اطلاعات در قالب وردپرس نمایش داده خواهد شد.
دستکاری محتویات RSS با استفاده از فیلد سفارشی
شاید بخواهید متادیتاهای بیشتری را در RSS به نمایش بگذارید! استفاده از فیلد سفارشی میتواند به شما کمک کند تا محتویات موردنظرتان را برای RSS تعریف کنید. لازم است فایل functions.php قالب را همانند زیر ویرایش کنید:
<?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 را تغییر دهید و جزئیات بیشتری به آن اضافه کنید. برای مثال اگر پستی که اسپانسر دارد یا پستی مهمان را بخواهید انتشار دهید. برای این کار لازم است فایل functions.php قالب را همانند زیر ویرایش کنید.
<?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 را در فیلد سفارشی نمایش دهید.
اگر هر کدام ازین فیلدها مقدار داشته باشد، متن را قبل از عنوان اضافه میکند. این تکنیک نیازهای شما را پوشش خواهد داد.
تنظیم تاریخ انقضا برای پست در وردپرس
با استفاده از فیلد سفارشی میتوانید برای پست تاریخ انقضا در نظر بگیرید. از تاریخ انتشار پست مدت زمانی که مدنظر کاربر است پست در سایت نمایش داده میشود و بعد از تاریخ انقضا پست حذف میشود. در حالت عادی لازم است پست را بهصورت دستی حذف کنید. اما با این کار میتوانید بهصورت خودکار این کار را انجام دهید. برای انجام این کار لازم است قالب خود را ویرایش کنید و لوپ وردپرس را همانند زیر ویرایش کنید:
<?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
اضافه کردن استایل به پست با استفاده از فیلد سفارشی
میخواهید با استفاده از CSS به پستتان رنگ و لعاب بدهید؟ وردپرس به هر پست کلاس مجزا اختصاص داده است که با این کار میتوانید CSS موردنظر خود را به آن اضافه کنید. برای این کار لازم است کلاسهای سفارشی خود را بسازید سپس به آنها استایل بدهید. پستی را که میخواهید استایل متفاوتی داشته باشد را انتخاب کنید. به قسمت فیلد سفارشی بروید و فیلد سفارشی با نام Post-class بسازید.
سپس باید قالب وردپرس را ویرایش کنید و این قطعه کد را ابتدای لوپ وردپرس قرار دهید.
<?php $custom_values = get_post_meta($post->ID, ‘post-class’); ?>
سپس خطی که تابع post_class() را پیدا کنید. همانند زیر است:
<article id=”post-<?php the_ID(); ?>” <?php post_class(); ?>>
این خط را همانند زیر تغییر دهید.
<article id=”post-<?php the_ID(); ?>” <?php post_class($custom_values); ?>>
اگر از ابزار inspect استفاده کنید کلاس CSS فیلد سفارشی خود را مشاهده میکنید که به پست اضافه شده است. چنین استایلهایی را میتوانید به پستهای مختلف نسبت دهید.
منبع: wpbeginner
با سلام
ممنون از توضیحات خوبتون چقدر خوب که با عکس توضیح داده بودین