it-swarm-id.com

Kumpulan Kode Terbaik untuk file functions.php Anda

Berikan suara untuk pertanyaan dan jawaban apa pun yang menurut Anda berguna dengan mengeklik panah atas di sebelah kiri pertanyaan atau jawaban.

Seperti banyak orang lain yang sekarang melihat posting ini, saya telah membaca berbagai blog, forum, dan grup diskusi untuk belajar dan meningkatkan keterampilan wordpress saya. Selama 12 bulan terakhir saya telah menjalankan misi untuk menggantikan penggunaan plugin dengan menambahkan kode ke file functions.php saya. Meskipun saya sepenuhnya setuju bahwa plugin sangat berguna dalam banyak situasi, pengalaman saya membuktikan bahwa dalam 90% kasus penggunaan walaupun ada plugin, sebenarnya menggunakannya dapat menciptakan komplikasi yang tidak perlu dan masalah kompatibilitas. Selain itu dalam banyak kasus plugin seperti itu menambahkan menu dan elemen admin lainnya yang tidak saya inginkan atau butuhkan.

Lebih sering daripada tidak saya telah menemukan bahwa dengan menganalisis kode plugin saya dapat menghapus potongan kode yang saya inginkan dan kode keras ke kode functions.php saya. Ini memberi saya fungsionalitas tepat yang saya butuhkan tanpa harus memasukkan elemen yang tidak perlu.

Jadi, tujuan dari posting ini adalah upaya saya untuk melibatkan Anda, pembaca/admin/pengembang, untuk berbagi dengan saya dan lainnya di sini bit kode mana pun yang Anda anggap berguna dan telah ditambahkan ke file function.php tema Anda untuk memperluas atau meningkatkan WordPress tanpa memanfaatkan sebuah plugin.

Ketika Anda mengirimkan respons di sini, silakan beri setiap kode sedikit judul, beri tahu kami jika dengan versi apa dari wordpress Anda tahu kompatibel dengannya, sertakan deskripsi apa pun yang menurut Anda paling sesuai dengan fungsinya dan (jika ada) sertakan tautan ke aslinya plugin atau sumber tempat Anda menemukan informasinya.

Saya menantikan semua tanggapan Anda dan tentu saja akan terus menambahkan temuan baru saya sendiri setiap kali saya menemukannya.

327

Hapus Tautan Item Menu

Banyak pemasangan WordPress saya tidak mengharuskan pengguna memiliki akses ke item menu 'Tautan'. Fungsi ini menghapusnya dari tampilan.

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

Nonaktifkan Pesan Upgrade Sekarang untuk Non-Administrator

Saya sebenarnya penggemar TIDAK menggunakan kode ini. Sebagai gantinya, saya lebih suka mengizinkan pelanggan untuk memperbarui pemasangan WordPress mereka sendiri. Ini membantu menjaga situs tetap mutakhir dan memaksa saya untuk menulis kode yang lebih baik.

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

Tambahkan jenis posting khusus ke halaman arsip

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

Logo Kustom untuk halaman Login dan Admin

/*-----------------------------------------------------------------------------------*/
/*  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

Mengubah nama menu "Posting" di admin menjadi apa pun yang Anda inginkan (mis. "Artikel")

// 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;
}

Kredit ke smashingmagazine.com

1
dani

Tambahkan kelas khusus ke tautan berikutnya dan sebelumnya

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

Secara otomatis menambahkan bidang kustom tersembunyi dan mengaitkan nilai ke posting ketika posting diterbitkan

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

Panggil bloginfo menggunakan kode pendek ...

function digwp_bloginfo_shortcode($atts) {

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

    return get_bloginfo($key);
}

add_shortcode('bloginfo', 'digwp_bloginfo_shortcode');

Penggunaan:

[bloginfo key='name']
0
jackreichert