it-swarm.asia

أفضل مجموعة من التعليمات البرمجية لملف function.php الخاص بك

يرجى التصويت على السؤال وأية إجابات تجدها مفيدة عن طريق النقر فوق سهم UP على الجانب الأيسر من السؤال أو الإجابة.

كما هو الحال مع العديد من الآخرين الذين يشاهدون هذا المنشور الآن ، فقد قرأت العديد من المدونات والمنتديات ومجموعات المناقشة لتعلم مهاراتي في Wordpress وتحسينها. خلال الأشهر الـ 12 الماضية ، كنت في مهمة لاستبدال استخدامي للمكونات الإضافية عن طريق إضافة رمز إلى ملف functions.php الخاص بي بدلاً من ذلك. على الرغم من أنني أتفق تمامًا على أن المكونات الإضافية مفيدة جدًا في العديد من المواقف ، فقد أثبتت تجربتي أنه في 90٪ من حالات الاستخدام على الرغم من وجود مكون إضافي ، فإن استخدامه بالفعل قد يؤدي إلى حدوث تعقيدات غير ضرورية ومشكلات توافق. بالإضافة إلى ذلك ، في الكثير من الحالات ، أضافت هذه الإضافات قوائم وعناصر مسؤول أخرى لا أريدها أو أحتاج إليها.

في أكثر الأحيان ، وجدت أنه من خلال تحليل رمز الإضافات ، كنت قادراً على إخراج قطعة الكود التي أردتها وترميزها في functions.php. لقد زودني هذا بالوظائف الدقيقة التي احتاجها دون الحاجة إلى تضمين عناصر غير ضرورية.

لذلك ، الغرض من هذا المنشور هو محاولتي لإشراكك ، القارئ/المشرف/المطور ، لمشاركة معي وبقية الآخرين أي بتات شفرة تجدها مفيدة وقد أضفتها إلى ملف function.php الخاص بالموضوع لتوسيع WordPress أو تحسينه دون استخدام البرنامج المساعد.

عند إرسال إجابة هنا ، يرجى التكرم بإعطاء عنوان لكل رمز بت ، وإخبارنا بما إذا كان مع أي إصدار من ووردبريس تعرفه متوافق ، مع تضمين أي وصف تشعر أنه يصف وظيفته على أفضل وجه ، و (إن أمكن) تضمين رابط إلى الأصل البرنامج المساعد أو المصدر حيث وجدت المعلومات.

إنني أتطلع إلى جميع ردودكم وسوف أضيف بالطبع اكتشافاتي الجديدة كلما وجدت.

327
NetConstructor.com

إزالة عنصر قائمة الروابط

لا تتطلب العديد من عمليات تثبيت WordPress أن يكون لدى المستخدمين حق الوصول إلى عنصر قائمة "الروابط". هذه الوظيفة تزيلها عن الأنظار.

add_action( 'admin_menu', 'custom_admin_menu' );
function custom_admin_menu() 
{
    global $menu;
    // var_dump($menu); // use this to identify the key for the menu item you want to remove
    unset( $menu[15] ); //key 15 is links
    if ( !current_user_can('manage_options') ) { unset( $menu[75] ); } //key 75 is tools ... but only for non super admins
}
1
Philip Downer

تعطيل رسالة الترقية الآن لغير المسؤولين

أنا في الواقع معجب كبير بعدم استخدام هذا الرمز. بدلاً من ذلك ، أفضل السماح للعملاء بتحديث تثبيتات WordPress الخاصة بهم. هذا يساعد في الحفاظ على تحديث الموقع ويجبرني على كتابة رمز أفضل.

if ( !current_user_can( 'manage_options' ) ) {
  add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 );
  add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) );
}
1
Philip Downer

إضافة أنواع منشورات مخصصة إلى صفحة الأرشيف

function namespace_add_custom_types( $query ) {
if( is_category() || is_tag() && empty( $query->query_vars['suppress_filters'] ) ) {
$query->set( 'post_type', array(
 'post', 'your-custom-post-type-here'
            ));
      return $query;
    }
}
add_filter( 'pre_get_posts', 'namespace_add_custom_types' );
1
NetConstructor.com

الشعارات المخصصة لصفحة تسجيل الدخول والمسؤول

/*-----------------------------------------------------------------------------------*/
/*  Custom logos
/*-----------------------------------------------------------------------------------*/
function custom_admin_logo() {
    echo '
        <style type="text/css">
            #header-logo { background-image: url('.get_bloginfo('template_directory').'/path/to/images/admin-logo.png) !important; }
        </style>
    ';
}
add_action('admin_head', 'custom_admin_logo');

function custom_login_logo() {
    echo '<style type="text/css">
        h1 a { background-image:url('.get_bloginfo('template_directory').'/path/to/images/login-logo.png) !important; }
    </style>';
}

add_action('login_head', 'custom_login_logo');
1
Daniel Sachs

تغيير اسم قائمة "المنشورات" في المشرف إلى ما تشاء (مثل "المقالات")

// hook the translation filters
add_filter('gettext','change_post_to_article');
add_filter('ngettext','change_post_to_article');

function change_post_to_article( $translated ) {
$translated = str_ireplace('Post','Article',$translated );// ireplace is PHP5 only
return $translated;
}

ائتمانات ل smashingmagazine.com

1
dani

إضافة فئة مخصصة إلى الروابط التالية والسابقة

add_filter('next_posts_link_attributes', 'posts_link_attributes');
add_filter('previous_posts_link_attributes', 'posts_link_attributes');
function posts_link_attributes(){
    return 'class="styled-button"';
    }
1
NetConstructor.com

إضافة حقل مخصص مخفي تلقائيًا وربط القيمة مع مشاركة عند نشر المنشور

add_action('publish_page', 'add_custom_field_automatically');
add_action('publish_post', 'add_custom_field_automatically');
function add_custom_field_automatically($post_ID) {
global $wpdb;
if(!wp_is_post_revision($post_ID)) {
    add_post_meta($post_ID, 'field-name', 'custom value', true);
}
}
1
NetConstructor.com

اتصل bloginfo باستخدام الرمز القصير ...

function digwp_bloginfo_shortcode($atts) {

    extract(shortcode_atts(array(
            'key' => '',
            ), $atts));

    return get_bloginfo($key);
}

add_shortcode('bloginfo', 'digwp_bloginfo_shortcode');

الاستخدام:

[bloginfo key='name']
0
jackreichert