۱۶ کد کاربردی برای functions وردپرس

قصد داریم در قالب چهار مطلب 32 کد کاربردی برای functions.php وردپرس را توضیح دهیم. در این پست هشت مورد از 32 مورد را توضیح داده ایم. امیدواریم مورد استفاده ی عزیزان قرار گیرد.

1- حذف شماره نسخه وردپرس:

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

function dbw_remove_version() {
return '';
}
add_filter('the_generator', 'dbw_remove_version');

2- اضافه کردن لوگوی دلخواه به داشبورد:

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

custom-logo.png

آپلود کنید. توجه داشته باشید سایز لوگوی شما باید 16×16 px باشد.
سپس کد زیر درون فایل functions.php قالب خود قرار دهید.

function dbw_custom_logo() {
echo '
<style type="text/css">
#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before {
background-image: url(' . get_bloginfo('stylesheet_directory') . '/images/custom-logo.png) !important;
background-position: 0 0;
color:rgba(0, 0, 0, 0);
}
#wpadminbar #wp-admin-bar-wp-logo.hover > .ab-item .ab-icon {
background-position: 0 0;
}
</style>
';
}
//hook into the administrative header output
add_action('wp_before_admin_bar_render', 'dbw_custom_logo');

3- تعویض پانوشت (فوتر) در پنل مدیریت وردپرس:

پانوشت (فوتر) در بخش مدیریت وردپرس پیامی به این مضمون را نشان می‌دهد “thank you for creating with wordpress”، شما می‌توانید این پیام را حذف کنید و یا به هر چیز دیگری که می‌خواهید تغییر دهید.

function remove_footer_admin () {
 
echo 'توسط <a href="http://www.wordpress.org" target="_blank">دارکوب وب</a> | طراحی سایت: <a href="http://www.darkoobweb.com" target="_blank">Darkoobweb.com </a></p>';
 
}
 
add_filter('admin_footer_text', 'remove_footer_admin');

4- اضافه کردن ابزارک‌های دلخواه به داشتبورد مدیریت وردپرس:

add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');
 
function my_custom_dashboard_widgets() {
global $wp_meta_boxes;
 
wp_add_dashboard_widget('custom_help_widget', 'Theme Support', 'custom_dashboard_help');
}
 
function custom_dashboard_help() {
echo '<p>Welcome to Custom Blog Theme! Need help? Contact the developer <a href="mailto:yourusername@gmail.com">here</a>. For WordPress Tutorials visit: <a href="http://www.darkoobweb.com" target="_blank">Darkoobweb</a></p>';
}

5- تغییر Gravatar پیشفرض در وردپرس:

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

add_filter( 'avatar_defaults', 'dbw_new_gravatar' );
function dbw_new_gravatar ($avatar_defaults) {
$myavatar = 'http://example.com/wp-content/uploads/2017/01/dbw-default-gravatar.png';
$avatar_defaults[$myavatar] = "Default Gravatar";
return $avatar_defaults;
}

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

6- تاریخ کپی رایت پویا در پانوشت(فوتر) وردپرس:

شما می‌توانید تاریخ کپی رایت را با تغییراتی در footer قالب ایجاد کنید، اما زمانی که سایت شما راه بیفتد نمایش داده نخواهید شد، همچنین به صورت خود کار سال بعد تغییر نمی‌کند.

با ایجاد تاریخ کپی رایت پویا می‌توان این مشکلات را حل کرد.

function dbw_copyright() {
global $wpdb;
$copyright_dates = $wpdb->get_results("
SELECT
YEAR(min(post_date_gmt)) AS firstdate,
YEAR(max(post_date_gmt)) AS lastdate
FROM
$wpdb->posts
WHERE
post_status = 'publish'
");
$output = '';
if($copyright_dates) {
$copyright = "© " . $copyright_dates[0]->firstdate;
if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {
$copyright .= '-' . $copyright_dates[0]->lastdate;
}
$output = $copyright;
}
return $output;
}

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

<?php echo dbw_copyright(); ?>

7- تغییر تصادفی رنگ پس‌زمینه در وردپرس:

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

function dbw_bg() { 
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
$color ='#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].
$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
echo $color;
}

سپس فایل header.php قالب خود را باز کرده تگ <body> را یافته و کد زیر را جایگزین آن کنید.

<body <?php body_class(); ?> style="background-color:<?php dbw_bg();?>">>

8- به روز رسانی URLs وردپرس:

اگر صفحه ورود وردپرس شما همچنان در حال رفرش شدن است یا اینکه قادر نیستید به محدوده admin دسترسی داشته باشید، آن وقت شما باید URLs وردپرس را بروز رسانی کنید.

یک راه برای این کار استفاده از

wp-config.php

است، اگر شما این عمل را انجام دهید قادر نخواهید بود آدرس صحیح را در صفحه تنظیمات قرار دهید. وردپرس URL و سایت URL بسته خواهند بود و قابل تغییر نیستند. اگر می‌خواهید این مورد را درست کنید کافی است از کد زیر در فایل functions.php استفاده کنید.

update_option( 'siteurl', 'http://example.com' );
update_option( 'home', 'http://example.com' );

بخاطر داشته باشید که به جای example.com نام سایت خود را قرار دهید، زمانی که وارد سایت شدید می‌توانید به تنضیمات رفته و URL های آنجا را تنظیم کنید. بعد از آن کدی را که در functions قرار دادید حذف کنید، در غیر این صورت هر زمان که به سایت دسترسی پیدا کنید URL های آن بروز رسانی خواهند شد.

9- اضافه کردن سایزهای بیشتر برای تصاویر وردپرس:

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

add_image_size( 'sidebar-thumb', 120, 120, true ); // Hard Crop Mode
add_image_size( 'homepage-thumb', 220, 180 ); // Soft Crop Mode
add_image_size( 'singlepost-thumb', 590, 9999 ); // Unlimited Height Mode

این کد 3 سایز متفاوت ایجاد می‌کند، شما می‌توانید تصویر را در هرکجا از قالب خود با استفاده از کد زیر نمایش دهید.

<?php the_post_thumbnail( 'homepage-thumb' ); ?>

10- اضافه کردن منوهای navigation در قالب

وردپرس به توسعه دهندگاه این امکان را می‌دهد تا منوهای navigation ایجاد و آنها را نمایش دهند.

function dbw_custom_new_menu() {
  register_nav_menu('my-custom-menu',__( 'My Custom Menu' ));
}
add_action( 'init', 'dbw_custom_new_menu' );

اکنون شما می‌توانید به آدرس Appearance >> Menu بروید و در آنجا My custom menu را خواهید دید.

اکنون شما باید این کد را در هر جایی از قالب خود که می‌خواهید منو navigation نمایش داده شود اضافه کنید.

<?php
wp_nav_menu( array( 
    'theme_location' => 'my-custom-menu', 
    'container_class' => 'custom-menu-class' ) ); 
?>

11- اضافه کردن فیلد به پروفایل نویسنده:

می‌خواهید فیلد اضافی به پروفایل نویسنده در وردپرس اضافه کنید؟ می‌توانید با اضافه کردن این کد در فایل functions.php این کار را انجام دهید.

function dbw_new_contactmethods( $contactmethods ) {
// Add Twitter
$contactmethods['twitter'] = 'Twitter';
//add Facebook
$contactmethods['facebook'] = 'Facebook';
 
return $contactmethods;
}
add_filter('user_contactmethods','dbw_new_contactmethods',10,1);

این کد فیلدهای twitter و facebook را به پروفایل‌های وردپرس اضافه می‌کند.

شما می‌توانید به این شکل فیلدها را در author templateنمایش دهید.

<?php echo $curauth->twitter; ?>

12- اضافه کردن widget ready area یا ساید بار در قالب وردپرس:

این پرکاربردترین موردی است که تمام توسعه دهندگان در مورد آن اصلاع دارند، کد زیر را در فایل functions.php قرار دهید.

// Register Sidebars
function custom_sidebars() {
 
    $args = array(
        'id'            => 'custom_sidebar',
        'name'          => __( 'Custom Widget Area', 'text_domain' ),
        'description'   => __( 'A custom widget area', 'text_domain' ),
        'before_title'  => '<h3 class="widget-title">',
        'after_title'   => '</h3>',
        'before_widget' => '<aside id="%1$s" class="widget %2$s">',
        'after_widget'  => '</aside>',
    );
    register_sidebar( $args );
 
}
add_action( 'widgets_init', 'custom_sidebars' );

اکنون به آدرس Appearance >> widgets بروید، در این قسمت می‌توانید ابزارک جدیدی را که اضافه کردیم ببینید.

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

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('custom_sidebar') ) : ?>
<!–Default sidebar info goes here–>
<?php endif; ?>

13- : دستکاری RSS feed در footer:

تابه حال بلاگ‌هایی را دیده‌اید که تبلیغات خود را در RSS feed  اضافه کرده و در زیر هر پست نمایش می‌دهند. شما نیز با اضافه کردن این کد می‌توانید این کار را انجام دهید.

function dbw_postrss($content) {
if(is_feed()){
$content = 'This post was written by Hooman Moein '.$content.'Check out Darkoobweb.com';
}
return $content;
}
add_filter('the_excerpt_rss', 'dbw_postrss');
add_filter('the_content', 'dbw_postrss');

14- اضافه کردن تصویر ویژه در RSS feeds:

post thumbnail یا تصاویر ویژه معمولا فقط در طراحی سایت شما نمایش داده می‌شود. شما ‌می‌توانید این عملکرد را در RSS feeds خود گسترش دهید.

function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '<p>' . get_the_post_thumbnail($post->ID) .
'</p>' . get_the_content();
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');

15- پنهان کردن خطاهای login در وردپرس:

خطاهای ورود در وردپرس می‌تواند توسط هکرهای برای حدس زدن این موضوع که چه چیزی را اشتباه واردکرده اند ( نام کاربری یا رمز عبور) استفاده شود. با پنهان کردن این خطاها می‌توانید محیط ورود خود را کمی ایمن‌ترکنید.

function no_wordpress_errors(){
  return 'Something is wrong!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );

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

16- غیر فعال کردن ورود با ایمیل در وردپرس:

در وردپرس کاربران می‌توانند با استفاده از نام کاربری یا ایمیل وارد سایت شوند، با اضافه کردن این کد می‌توانید ورورد به وسیله ایمیل را غیر فعال کنید.

remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

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