ඔබගේ 'functions.php' ගොනුව සඳහා හොඳම කේත එකතුව [වසා ඇත]


336

දැන් මෙම ලිපිය නරඹන තවත් බොහෝ අය මෙන්, මගේ වර්ඩ්ප්‍රෙස් කුසලතා ඉගෙන ගැනීමට සහ වැඩිදියුණු කිරීමට මම විවිධ බ්ලොග්, සංසද සහ සාකච්ඡා කණ්ඩායම් කියවමින් සිටිමි. පසුගිය මාස 12 තුළ මම මගේ functions.phpගොනුවට කේත එකතු කිරීමෙන් ප්ලගීන භාවිතය ආදේශ කිරීමේ මෙහෙයුමක යෙදී සිටිමි .

බොහෝ අවස්ථාවන්හිදී ප්ලගීන ඉතා ප්‍රයෝජනවත් බව මම සම්පුර්ණයෙන්ම එකඟ වන අතර, භාවිතයෙන් 90% ක්ම ප්ලගිනයක් පැවතිය හැකි වුවද, ඇත්ත වශයෙන්ම එය භාවිතා කිරීමෙන් අනවශ්‍ය සංකූලතා සහ අනුකූලතා ගැටලු ඇතිවිය හැකි බව මගේ අත්දැකීමෙන් ඔප්පු විය. මීට අමතරව, බොහෝ අවස්ථාවන්හිදී එවැනි ප්ලගීන මට අවශ්‍ය හෝ අවශ්‍ය නොවන මෙනු සහ වෙනත් පරිපාලක අංග එකතු කළේය.

ප්ලගීන කේතය විශ්ලේෂණය කිරීමෙන් මට අවශ්‍ය කේත කැබැල්ල ඉවත් කර එය මගේ කේතයට තද කළ හැකි බව බොහෝ විට මට පෙනී ගොස් ඇත functions.php. අනවශ්‍ය අංග ඇතුළත් නොකර මට අවශ්‍ය නිශ්චිත ක්‍රියාකාරිත්වය මෙය මට ලබා දුන්නේය.

එබැවින්, මෙම ලිපියේ පරමාර්ථය නම්, ඔබ, පා er කයා / පරිපාලක / සංවර්ධකයා, මා හා වෙනත් අය සමඟ බෙදා ගැනීමට ඔබ උත්සාහ කරන ඕනෑම කේත බිටු ඔබට ප්‍රයෝජනවත් යැයි හැඟෙන අතර ඔබේ තේමාවේ function.phpගොනුවට එකතු කර වර්ඩ්ප්‍රෙස් භාවිතා නොකර දීර් extend කිරීමට හෝ වැඩි දියුණු කිරීමට ය. ප්ලගිනය.

ඔබ මෙහි ප්‍රතිචාරයක් ඉදිරිපත් කරන විට කරුණාකර එක් එක් කේතයට මාතෘකාවක් කාරුණිකව දෙන්න, වර්ඩ්ප්‍රෙස්හි කුමන අනුවාදයක් සමඟ එය අනුකූලදැයි ඔබ දන්නවාද, එහි ක්‍රියාකාරිත්වය වඩාත් හොඳින් විස්තර කරන ඕනෑම විස්තරයක් ඇතුළත් කරන්න සහ (අදාළ නම්) මුල් පිටපතට සබැඳියක් ඇතුළත් කරන්න ඔබ තොරතුරු සොයාගත් ප්ලගිනය හෝ ප්‍රභවය.

මම ඔබගේ සියලු ප්‍රතිචාරයන් බලාපොරොත්තුවෙන් සිටිමි. ඇත්ත වශයෙන්ම මම මගේ නව සොයාගැනීම් සොයා ගන්නා සෑම විටම ඒවා එකතු කරමි.

කරුණාකර ප්‍රශ්නයට වම් පස ඉහළ ඊතලය ක්ලික් කිරීමෙන් හෝ ප්‍රශ්නයට පිළිතුරු සපයන්න.


13
පළමු පිළිතුරු 5 සලකා බැලීමේදී OP විසින් කරන ලද අතර, ප්‍රශ්නය තනි, නිශ්චිත පිළිතුරකට වඩා ප්‍රතිචාර රාශියක් එකතු කිරීමට වැඩි කැමැත්තක් දක්වන බව පෙනේ, මෙය ප්‍රජා විකියක් විය යුතුය.
ඊමාන්

17
තේමාවකට සම්බන්ධ නොවන සියලුම පිළිතුරු ඉවත් කළ යුතුය. නරක කේතීකරණ භාවිතයන් සඳහා මෙම නූල හොඳ උදාහරණයකි.
fuxia

17
ඔවුන්ගේ තේමාවේ කාර්යයන් භාවිතා කරනවා වෙනුවට අභිරුචි ක්‍රියාකාරී ප්ලගිනයක් නිර්මාණය කිරීමට මිනිසුන් දිරිමත් කිරීම වඩා හොඳ යැයි මම සිතමි
ඉයන් ඩන්

3
C NetConstructor.com පිටු දසුන් ගණන පිරිසිදු බව සඳහා දර්ශකයක් නොවේ. නිශ්චිත පිළිතුරු සහ හොඳ කේතීකරණ භාවිතයන් සහිත විශේෂිත ප්‍රශ්න අප දිරිමත් කළ යුතුය. මෙම නූල් ප්රතිවිරුද්ධයයි.
fuxia

6
C NetConstructor.com ඔබේ තර්ක වඩා හොඳින් දැකිය හැකි මෙටා හි එය සාකච්ඡා කරන්න . :)
fuxia

Answers:


108

සියලුම අඩවි සැකසුම් පෙන්වමින් සැඟවුණු පරිපාලන විශේෂාංගය සක්‍රීය කරන්න

පරීක්ෂා කර ඇත්තේ: වර්ඩ්ප්‍රෙස් 3.1 ආර්සී 3

මෙම කුඩා කේත කොටස ලස්සන දෙයක් කරයි. එය ඔබගේ සැකසුම් මෙනුවට "සියලු සැකසුම්" වෙත සබැඳියක් සමඟ අතිරේක විකල්පයක් එක් කරනු ඇති අතර එමඟින් ඔබේ වර්ඩ්ප්‍රෙස් වෙබ් අඩවියට අදාළ ඔබේ දත්ත ගබඩාව තුළ ඇති සියලුම සැකසුම් වල සම්පූර්ණ ලැයිස්තුවක් පෙන්වනු ඇත. පහත කේතය මඟින් මෙම සබැඳිය පරිපාලක පරිශීලකයෙකුට පමණක් පෙනෙන අතර එය අනෙක් සියලුම පරිශීලකයින් සඳහා සැඟවිය හැක.

// CUSTOM ADMIN MENU LINK FOR ALL SETTINGS
   function all_settings_link() {
    add_options_page(__('All Settings'), __('All Settings'), 'administrator', 'options.php');
   }
   add_action('admin_menu', 'all_settings_link');

සංවර්ධනය සඳහා අපූරුයි! මගේ ප්ලග්-ඉන් සඳහා ඩීබී අනුවාදයන් ගබඩා කිරීම සඳහා මම නිතරම විකල්ප වගුව භාවිතා කරමි ... යාවත්කාලීන ස්ක්‍රිප්ට් එකක් පරීක්ෂා කිරීම සඳහා පැරණි ඩීබී අනුවාදයකට නැවත සැකසීමට phpMyAdmin භාවිතා කිරීම වේදනාවකි ... මෙය එතරම් පහසු වනු ඇත !!!
ඊමාන්

3
ඔබේ වෙබ් අඩවිය / wp-admin / options.php
j08691

88

පිවිසුම් ලාංඡනය සහ රූප URL සබැඳිය වෙනස් කරන්න

පරීක්ෂා කර ඇත්තේ: වර්ඩ්ප්‍රෙස් 3.0.1

මෙම කේතය මඟින් වර්ඩ්ප්‍රෙස් පිවිසුම් පිටු ලාංඡනය මෙන්ම මෙම ලාංඡනයේ href සබැඳිය සහ මාතෘකා පෙළ පහසුවෙන් වෙනස් කිරීමට ඔබට ඉඩ සලසයි.

add_filter( 'login_headerurl', 'namespace_login_headerurl' );
/**
 * Replaces the login header logo URL
 *
 * @param $url
 */
function namespace_login_headerurl( $url ) {
    $url = home_url( '/' );
    return $url;
}

add_filter( 'login_headertitle', 'namespace_login_headertitle' );
/**
 * Replaces the login header logo title
 *
 * @param $title
 */
function namespace_login_headertitle( $title ) {
    $title = get_bloginfo( 'name' );
    return $title;
}

add_action( 'login_head', 'namespace_login_style' );
/**
 * Replaces the login header logo
 */
function namespace_login_style() {
    echo '<style>.login h1 a { background-image: url( ' . get_template_directory_uri() . '/images/logo.png ) !important; }</style>';
}

සංස්කරණය කරන්න: පිවිසුම් ලාංඡනය ප්‍රතිස්ථාපනය කිරීම සඳහා ඔබට අඩවි ලාංඡනය භාවිතා කිරීමට අවශ්‍ය නම්, එම තොරතුරු ගතිකව ඇද ගැනීමට ඔබට පහත සඳහන් දෑ භාවිතා කළ හැකිය ( WP3.5 හි පරීක්ෂා කර ඇත ):

function namespace_login_style() {
    if( function_exists('get_custom_header') ){
        $width = get_custom_header()->width;
        $height = get_custom_header()->height;
    } else {
        $width = HEADER_IMAGE_WIDTH;
        $height = HEADER_IMAGE_HEIGHT;
    }
    echo '<style>'.PHP_EOL;
    echo '.login h1 a {'.PHP_EOL; 
    echo '  background-image: url( '; header_image(); echo ' ) !important; '.PHP_EOL;
    echo '  width: '.$width.'px !important;'.PHP_EOL;
    echo '  height: '.$height.'px !important;'.PHP_EOL;
    echo '  background-size: '.$width.'px '.$height.'px !important;'.PHP_EOL;
    echo '}'.PHP_EOL;
    echo '</style>'.PHP_EOL;
}

80

සෙවුම් ප්‍රති .ලවල අභිරුචි පෝස්ට් වර්ග ඇතුළත් කරන්න.

// MAKE CUSTOM POST TYPES SEARCHABLE
function searchAll( $query ) {
 if ( $query->is_search ) { $query->set( 'post_type', array( 'site', 'plugin', 'theme', 'person' )); } 
 return $query;
}
add_filter( 'the_search_query', 'searchAll' );

පෙරනිමියෙන් ඔබේ අභිරුචි පෝස්ට් වර්ග ඔබේ වෙබ් අඩවි ප්‍රධාන RSS සංග්‍රහයට එක් කරන්න.

// ADD CUSTOM POST TYPES TO THE DEFAULT RSS FEED
function custom_feed_request( $vars ) {
 if (isset($vars['feed']) && !isset($vars['post_type']))
  $vars['post_type'] = array( 'post', 'site', 'plugin', 'theme', 'person' );
 return $vars;
}
add_filter( 'request', 'custom_feed_request' );

අභිරුචි තැපැල් වර්ග "දැන්ම" පරිපාලක උපකරණ පුවරුවේ විජට් තුළ ඇතුළත් කරන්න

මෙයට ඔබගේ අභිරුචි පෝස්ට් වර්ග සහ "දැන්ම" උපකරණ පුවරුවේ විජට් එකේ එක් එක් වර්ගය සඳහා තැපැල් ගණන් ඇතුළත් වේ.

// ADD CUSTOM POST TYPES TO THE 'RIGHT NOW' DASHBOARD WIDGET
function wph_right_now_content_table_end() {
 $args = array(
  'public' => true ,
  '_builtin' => false
 );
 $output = 'object';
 $operator = 'and';
 $post_types = get_post_types( $args , $output , $operator );
 foreach( $post_types as $post_type ) {
  $num_posts = wp_count_posts( $post_type->name );
  $num = number_format_i18n( $num_posts->publish );
  $text = _n( $post_type->labels->singular_name, $post_type->labels->name , intval( $num_posts->publish ) );
  if ( current_user_can( 'edit_posts' ) ) {
   $num = "<a href='edit.php?post_type=$post_type->name'>$num</a>";
   $text = "<a href='edit.php?post_type=$post_type->name'>$text</a>";
  }
  echo '<tr><td class="first num b b-' . $post_type->name . '">' . $num . '</td>';
  echo '<td class="text t ' . $post_type->name . '">' . $text . '</td></tr>';
 }
 $taxonomies = get_taxonomies( $args , $output , $operator ); 
 foreach( $taxonomies as $taxonomy ) {
  $num_terms  = wp_count_terms( $taxonomy->name );
  $num = number_format_i18n( $num_terms );
  $text = _n( $taxonomy->labels->singular_name, $taxonomy->labels->name , intval( $num_terms ));
  if ( current_user_can( 'manage_categories' ) ) {
   $num = "<a href='edit-tags.php?taxonomy=$taxonomy->name'>$num</a>";
   $text = "<a href='edit-tags.php?taxonomy=$taxonomy->name'>$text</a>";
  }
  echo '<tr><td class="first b b-' . $taxonomy->name . '">' . $num . '</td>';
  echo '<td class="t ' . $taxonomy->name . '">' . $text . '</td></tr>';
 }
}
add_action( 'right_now_content_table_end' , 'wph_right_now_content_table_end' );

මෙම පිළිතුරට අවසාන ස්නිපටය සම්බන්ධයෙන්. සෑම පෝස්ට් වර්ගයක් සඳහාම මම මේවා අතින් එකතු කරන බැවින් මෙය විශිෂ්ට එකතු කිරීමකි. මට ඇති එකම ගැටළුව නම් එය පෙරනිමි "කාණ්ඩය" සහ "ටැග්" ඇතුළත් කිරීමෙන් පසුව දත්ත එකතු කිරීමයි. සුපුරුදු "කාණ්ඩය" හෝ "ටැග්" ඒවා පහළට ගෙනයාමට හෝ ඒවා අතින් එකතු කිරීමට හැකි වන පරිදි ඉවත් කිරීමට ඔබේ පිළිතුර යාවත්කාලීන කළ හැකිද?
NetConstructor.com

C NetConstructor.com මම ඔබේ ඉල්ලීම තේරුම් ගත්තා යැයි මම නොසිතමි. මා එසේ කරන්නේ නම්, එය ටිකක් අපහසු දෙයක් වනු ඇතැයි මම සිතමි, එය කරන්නේ කෙසේදැයි සොයා ගැනීමට දැන්ම කාලය නැත.
jaredwilli

මම හිතන්නේ, දැන් ඔබ සමඟ මෙය කළ හැකි - සෙවුම් ප්රතිඵල රේගු පශ්චාත් වර්ග ඇතුළත් exclude_from_searchවන param register_post_type...
Krzysiek Dróżdż

78

ADMIN පරිශීලකයා හැර අනෙකුත් සියලුම පරිශීලකයින් සඳහා යාවත්කාලීන දැනුම්දීම ඉවත් කරන්න

පරීක්ෂා කර ඇත්තේ: වර්ඩ්ප්‍රෙස් 3.0.1

යාවත්කාලීනයන් ඇති විට "පරිපාලක" හැර වෙනත් පරිශීලකයින්ට වර්ඩ්ප්‍රෙස් විසින් දැනුම් නොදෙන බවට මෙම කේතය සහතික කරයි ..

// REMOVE THE WORDPRESS UPDATE NOTIFICATION FOR ALL USERS EXCEPT SYSADMIN
   global $user_login;
   get_currentuserinfo();
   if ($user_login !== "admin") { // Change admin to the username that gets the updates
    add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 );
    add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) );
   }

පරිපාලක පරිශීලකයින් සඳහා යාවත්කාලීන දැනුම්දීම් පමණක් පෙන්වීමට වෙනස් කළ අනුවාදය (පරිශීලක 'පරිපාලක' ට වඩා වෙනස්ව):

// REMOVE THE WORDPRESS UPDATE NOTIFICATION FOR ALL USERS EXCEPT SYSADMIN
       global $user_login;
       get_currentuserinfo();
       if (!current_user_can('update_plugins')) { // Checks to see if current user can update plugins
        add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 );
        add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) );
       }

8
මෙය පරමාදර්ශයට වඩා බෙහෙවින් අඩු ය. එය ක්‍රියාත්මක වන්නේ පරිපාලකගේ පිවිසුම තවමත් සුපුරුදු 'පරිපාලක' නම්, එය ආරක්ෂක හේතූන් මත නොසැලකේ. ඒ වෙනුවට ඔබ මිනිසුන්ට පණිවිඩ දැකීමට අවශ්‍ය නිශ්චිත හැකියාවක් තිබේදැයි පරීක්ෂා කළ යුතුය.
ජර්ක්ලාර්ක්

1
එනම් නම් (current_user_can ( 'manage_options')!) {... add_filter ...} - ද්විත්ව අදහස් ගැන සමාවෙන්න, මම ඉදිරිපත් කර අදහස් ඇතුළු පහර බව අමතක)
jerclarke

ඔබට පරිපාලක පරිශීලක නාමය වෙනස් කළ හැකි කේතයට මා අදහස් දැක්වීම එකතු කළේ එබැවිනි. ඔබ එය වැඩි දියුණු කරන්නේ / නැවත ලියන්නේ කෙසේද?
NetConstructor.com

හොඳම ක්‍රමය නම් ගෝලීය $ user_login සහ get_currentuserinfo () ඉවත් කර ඒ වෙනුවට ඔබේ නම් වගන්තියේ current_user_can භාවිතා කිරීමයි. එය 3 වෙනුවට 1 පේළියක් පමණක් වන අතර එහි සම්මත ක්‍රමයයි. පණිවුඩවල ACT සඳහා අවශ්‍ය නිශ්චිත හැකියාව ඔබට පරීක්ෂා කළ හැකිය, මේ අවස්ථාවේ දී 'update_core' සහ 'update_plugins' ඇත.
ජර්ක්ලාර්ක්

2
ඉතින්: if (! current_user_can ('update_plugins')) {/ * පණිවිඩ ඉවත් කරන්න * /}
ජර්ක්ලාර්ක්

73

ගූගල් සීඩීඑන් වෙතින් jQuery පූරණය වේ

පරීක්ෂා කර ඇත්තේ: වර්ඩ්ප්‍රෙස් 3.0.1

// Even more smart jQuery inclusion :)
add_action( 'init', 'jquery_register' );

// Register from Google and for footer
function jquery_register() {

    if ( !is_admin() ) {

        wp_deregister_script( 'jquery' );
        wp_register_script( 'jquery', ( 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' ), false, null, true );
        wp_enqueue_script( 'jquery' );
    }
}

ආරක්ෂාව සඳහා වර්ඩ්ප්‍රෙස් අනුවාද තොරතුරු ඉවත් කරන්න

පරීක්ෂා කර ඇත්තේ: වර්ඩ්ප්‍රෙස් 3.0.1

// Remove version info from head and feeds
function complete_version_removal() {
    return '';
}
add_filter('the_generator', 'complete_version_removal');

ඉදිරිපස කෙළවරේ ඇති අදහස් වලට අයාචිත තැපැල් සහ මකන්න

පරීක්ෂා කර ඇත්තේ: වර්ඩ්ප්‍රෙස් 3.0.1

අයාචිත තැපැල් එකතු කිරීමෙන් සහ සබැඳි මකා දැමීමෙන් ඉදිරිපස කෙළවරේ සිට අදහස් කළමනාකරණය කිරීමට මෙය පහසු කරයි. **

// Spam & delete links for all versions of WordPress
function delete_comment_link($id) {
    if (current_user_can('edit_post')) {
        echo '| <a href="'.get_bloginfo('wpurl').'/wp-admin/comment.php?action=cdc&c='.$id.'">del</a> ';
        echo '| <a href="'.get_bloginfo('wpurl').'/wp-admin/comment.php?action=cdc&dt=spam&c='.$id.'">spam</a>';
    }
}

RSS සංග්‍රහයට ප්‍රසිද්ධියේ පළ කිරීම ප්‍රමාද කරන්න

පරීක්ෂා කර ඇත්තේ: වර්ඩ්ප්‍රෙස් 3.0.1

අවසාන වශයෙන්, මගේ RSS සංග්‍රහයට මිනිත්තු 10-15 අතර කාලයක් ප්‍රමාද කිරීමට මම කැමතියි, මන්ද මගේ පා ​​.යේ සෑම විටම අවම වශයෙන් දෝෂ කිහිපයක්වත් දක්නට ලැබේ. ඔබේ වෙබ් අඩවිය RSS පා .කයන් වෙත තල්ලු කිරීමට පෙර දිනක් හෝ සතියක් ඔබේ වෙබ් අඩවියට පමණක් සීමා වීමට ඔබට අවශ්‍ය නම් වෙනත් භාවිතයන් වේ.

// Delay feed update
function publish_later_on_feed($where) {
    global $wpdb;

    if (is_feed()) {
        // Timestamp in WordPress format
        $now = gmdate('Y-m-d H:i:s');

        // Value for wait; + device
        $wait = '10'; // integer

        // http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
        $device = 'MINUTE'; // MINUTE, HOUR, DAY, WEEK, MONTH, YEAR

        // Add SQL syntax to default $where
        $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
    }
    return $where;
}
add_filter('posts_where', 'publish_later_on_feed');

මගේ ලිපියේ මූලාශ්‍රය: wpengineer.com/320/publish-the-feed-later වැඩි විස්තර සහිතව
bueltge

1
ඔබට උත්පාදක remove_action('wp_head', 'wp_generator');
පෙරණයද

25
ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js කල් ඉකුත් වන්නේ පැයකට පසුවය. වසරකට පසු කල් ඉකුත්වන ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js වැනි සම්පූර්ණ අනුවාද තොරතුරු සැමවිටම භාවිතා කරන්න .
fuxia

5
"ආරක්ෂාව සඳහා වර්ඩ්ප්‍රෙස් අනුවාදය තොරතුරු ඉවත් කරන්න" කේතය ඇත්ත වශයෙන්ම ඔබේ වෙබ් අඩවියේ ආරක්ෂාව වැඩි කිරීමට කිසිවක් නොකරයි. එය ඔබේ වෙබ් අඩවියේ WP අනුවාදය නිරාවරණය වීම පවා නතර නොකරයි.
ජෝශප් ස්කොට්

1
සත්‍ය ජෝසප් නොවේ, ඔබේ වර්ඩ්ප්‍රෙස් අනුවාදය නිරාවරණය වුවහොත් ඔබ පැරණි අනුවාදයක් ධාවනය කරන්නේ දැයි ජනතාවට දැක ගත හැකි අතර එමඟින් ඔබේ අනාරක්ෂිත බව හෙළි වේ. සියලුම වර්ඩ්ප්‍රෙස් ස්ථාපනයන්ගෙන් එය ඉවත් කිරීම සැමවිටම හොඳ තීරණයක්. පුද්ගලිකව, එය ආරක්ෂක ප්‍රශ්නයක් බැවින් ඔවුන් එය එහි මුල් තැනට දැමුවේ මන්දැයි මම නොදනිමි.
ජෙරමි

60

ඩීබී පිපිරීම වළක්වා ගැනීම සඳහා උපරිම පශ්චාත් සංශෝධන සංඛ්‍යාවක් සකසන්න.

පරීක්ෂා කර ඇත්තේ: වර්ඩ්ප්‍රෙස් 3.0.1

පෙරනිමිය අනන්තය, මෙය මෙය අවසන් සංස්කරණ පහ පමණක් මතක තබා ගැනීමට සැකසෙනු ඇත:

/**
 * Set the post revisions unless the constant was set in wp-config.php
 */
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', 5);

එය වටින දෙය සඳහා, කෝඩෙක්ස් පිටුවේ සංස්කරණ wp-config.php හි සැකසිය හැකි CONSTANTS සඳහා විශිෂ්ට අදහස් රාශියක් ඇත .


මෙය එක් පෝස්ට් වර්ගයක පදනමක් මත සැකසිය හැකිද?
NetConstructor.com

Wp_save_post_revision () හි එහි භාවිතය දෙස බලන විට පශ්චාත් වර්ග මත පදනම්ව වෙන්කර හඳුනාගත හැකි ක්‍රමයක් නොපෙනේ. බොහෝ විට තිබිය යුතු වුවත්, වටිනාකම මත පෙරනයක් හෝ කිසිවක් නොමැත.
ජර්ක්ලාර්ක්

ස්තූතියි ජෙරමි - වෙන කාටවත්, ඔබ මෙය කරන්නේ කෙසේදැයි දන්නේ නම් කරුණාකර එය මෙහි පළ කරන්න.
NetConstructor.com

1
පුද්ගලිකව මම 10 ට වඩා කැමතියි. එය දෙගුණයක් බව මම දනිමි, නමුත් සෑම විටම මට සංශෝධනයක් අවශ්‍ය වූ විට එය සැමවිටම පැරණි වේ 5
janw

58

වර්ඩ්ප්‍රෙස් පැතිකඩ මෙවලම්

වෙනම ගොනුවක පැතිකඩ මෙවලම් එක් කිරීමට මම කැමතියි, අවශ්‍ය විටදී functions.php වෙතින් ඇතුළත් කරමි:

<?php
    if ( !defined('SAVEQUERIES') && isset($_GET['debug']) && $_GET['debug'] == 'sql' )
        define('SAVEQUERIES', true);

    if ( !function_exists('dump') ) :
        /**
         * dump()
         *
         * @param mixed $in
         * @return mixed $in
         **/

        function dump($in = null) {
            echo '<pre style="margin-left: 0px; margin-right: 0px; padding: 10px; border: solid 1px black; background-color: ghostwhite; color: black; text-align: left;">';
            foreach ( func_get_args() as $var ) {
                echo "\n";
                if ( is_string($var) ) {
                    echo "$var\n";
                } else {
                    var_dump($var);
                }
            }
            echo '</pre>' . "\n";
            return $in;
        } # dump()
    endif;

    /**
     * add_stop()
     *
     * @param mixed $in
     * @param string $where
     * @return mixed $in
     **/

    function add_stop($in = null, $where = null) {
        global $sem_stops;
        global $wp_object_cache;
        $queries = get_num_queries();
        $milliseconds = timer_stop() * 1000;
        $out =  "$queries queries - {$milliseconds}ms";
        if ( function_exists('memory_get_usage') ) {
            $memory = number_format(memory_get_usage() / ( 1024 * 1024 ), 1);
            $out .= " - {$memory}MB";
        }
        $out .= " - $wp_object_cache->cache_hits cache hits / " . ( $wp_object_cache->cache_hits + $wp_object_cache->cache_misses );
        if ( $where ) {
            $sem_stops[$where] = $out;
        } else {
            dump($out);
        }
        return $in;
    } # add_stop()


    /**
     * dump_stops()
     *
     * @param mixed $in
     * @return mixed $in
     **/

    function dump_stops($in = null) {

        if ( $_POST )
            return $in;

        global $sem_stops;
        global $wp_object_cache;
        $stops = '';

        foreach ( $sem_stops as $where => $stop )
            $stops .= "$where: $stop\n";

        dump("\n" . trim($stops) . "\n");

        if ( defined('SAVEQUERIES') && $_GET['debug'] == 'sql' ) {
            global $wpdb;
            foreach ( $wpdb->queries as $key => $data ) {
                $query = rtrim($data[0]);
                $duration = number_format($data[1] * 1000, 1) . 'ms';
                $loc = trim($data[2]);
                $loc = preg_replace("/(require|include)(_once)?,\s*/ix", '', $loc);
                $loc = "\n" . preg_replace("/,\s*/", ",\n", $loc) . "\n";
                dump($query, $duration, $loc);
            }
        }

        if ( $_GET['debug'] == 'cache' )
            dump($wp_object_cache->cache);

        if ( $_GET['debug'] == 'cron' ) {
            $crons = get_option('cron');

            foreach ( $crons as $time => $_crons ) {

                if ( !is_array($_crons) )
                    continue;

                foreach ( $_crons as $event => $_cron ) {
                    foreach ( $_cron as $details ) {
                        $date = date('Y-m-d H:m:i', $time);
                        $schedule = isset($details['schedule']) ? "({$details['schedule']})" : '';
                        if ( $details['args'] )
                            dump("$date: $event $schedule", $details['args']);
                        else
                            dump("$date: $event $schedule");
                    }
                }
            }
        }
        return $in;
    } # dump_stops()
    add_action('init', create_function('$in', '
        return add_stop($in, "Load");
        '), 10000000);
    add_action('template_redirect', create_function('$in', '
        return add_stop($in, "Query");
        '), -10000000);
    add_action('wp_footer', create_function('$in', '
        return add_stop($in, "Display");
        '), 10000000);
    add_action('admin_footer', create_function('$in', '
        return add_stop($in, "Display");
        '), 10000000);

    /**
     * init_dump()
     *
     * @return void
     **/

    function init_dump() {
        global $hook_suffix;
        if ( !is_admin() || empty($hook_suffix) ) {
            add_action('wp_footer', 'dump_stops', 10000000);
            add_action('admin_footer', 'dump_stops', 10000000);
        } else {
            add_action('wp_footer', 'dump_stops', 10000000);
            add_action("admin_footer-$hook_suffix", 'dump_stops', 10000000);
        }
    } # init_dump()
    add_action('wp_print_scripts', 'init_dump');


    /**
     * dump_phpinfo()
     *
     * @return void
     **/

    function dump_phpinfo() {
        if ( isset($_GET['debug']) && $_GET['debug'] == 'phpinfo' ) {
            phpinfo();
            die;
        }
    } # dump_phpinfo()
    add_action('init', 'dump_phpinfo');


    /**
     * dump_http()
     *
     * @param array $args
     * @param string $url
     * @return array $args
     **/

    function dump_http($args, $url) {
        dump(preg_replace("|/[0-9a-f]{32}/?$|", '', $url));
        return $args;
    } # dump_http()


    /**
     * dump_trace()
     *
     * @return void
     **/

    function dump_trace() {
        $backtrace = debug_backtrace();
        foreach ( $backtrace as $trace )
            dump(
                'File/Line: ' . $trace['file'] . ', ' . $trace['line'],
                'Function / Class: ' . $trace['function'] . ', ' . $trace['class']
                );
    } # dump_trace()
    if ( $_GET['debug'] == 'http' )
        add_filter('http_request_args', 'dump_http', 0, 2);
?>

මෙය වෙනස් කිරීමට ඉක්මන් ක්‍රමයක් තිබේද, එවිට ඔබේ පරිපාලක සහ නිදොස් කිරීමේ තොරතුරු පෙන්වීමට URL වෙත යමක් එකතු කළ විට පමණක් ස්ක්‍රිප්ට් කැඳවනු ලැබේද?
NetConstructor.com

1
: ඒක මගේ තේමාව සිදු වෙනවා ආකාරය semiologic.com/software/sem-reloaded (මගේ ඉහළ ලකුණු සිහිපත් කළ නොහැක /inc/debug.php /functions.php හෝ /inc/init.php විසින් ඇතුලත් කර ඇත - හිස).
ඩෙනිස් ඩි බර්නාඩි

54

ප්‍රතිප්‍රමාණ කළ රූප මුවහත් කරන්න (JPEG පමණි)

මෙම ශ්‍රිතය ප්‍රතිප්‍රමාණනය කරන ලද JPEG රූප මුවහත් කරයි. වෙනසකට උදාහරණයක්:

http://dl.dropbox.com/u/1652601/forrst/gdsharpen.png

function ajx_sharpen_resized_files( $resized_file ) {

    $image = wp_load_image( $resized_file );
    if ( !is_resource( $image ) )
        return new WP_Error( 'error_loading_image', $image, $file );

    $size = @getimagesize( $resized_file );
    if ( !$size )
        return new WP_Error('invalid_image', __('Could not read image size'), $file);
    list($orig_w, $orig_h, $orig_type) = $size;

    switch ( $orig_type ) {

        case IMAGETYPE_JPEG:
            $matrix = array(
                array(-1, -1, -1),
                array(-1, 16, -1),
                array(-1, -1, -1),
            );

            $divisor = array_sum(array_map('array_sum', $matrix));
            $offset = 0;
            imageconvolution($image, $matrix, $divisor, $offset);
            imagejpeg($image, $resized_file,apply_filters( 'jpeg_quality', 90, 'edit_image' ));
            break;

        case IMAGETYPE_PNG:
            return $resized_file;

        case IMAGETYPE_GIF:
            return $resized_file;
    }

    return $resized_file;
}

add_filter('image_make_intermediate_size', 'ajx_sharpen_resized_files', 900);

වඩා හොඳ jpegs, ස්තූතියි පොකුරක්! 3.4-ඇල්ෆා
බ්‍රසෝෆිලෝ

2
ඔබට මෙය ප්ලගිනයක් ලෙස අවශ්‍ය නම්: wordpress.org/extend/plugins/sharpen-resized-images
Ünsal Korkmaz

මෙම ශ්‍රිතය යන්නේ කොතැනටද?
StevieD

TeStevieD - මාතෘකාවට අනුව, එය ඔබගේ අච්චුවේ functions.php තුළට යයි. මම ප්‍රවේශම් වන්නම්, මෙම කාර්යය අවුරුදු 8 කට ආසන්නය.
timofey.com

51

පෙරනිමි වර්ඩ්ප්‍රෙස් මෙටා පෙට්ටි ඉවත් කරන්න

පරීක්ෂා කර ඇත්තේ: වර්ඩ්ප්‍රෙස් 3.0.1

වර්ඩ්ප්‍රෙස් පෙරනිමියෙන් එකතු කරන විශේෂිත මෙටා පෙට්ටි ඉවත් කිරීමට මෙම කේතය මඟින් ඉඩ ලබා දේ.

// REMOVE META BOXES FROM DEFAULT POSTS SCREEN
function remove_default_post_screen_metaboxes() {
    remove_meta_box( 'postcustom','post','normal' ); // Custom Fields Metabox
    remove_meta_box( 'postexcerpt','post','normal' ); // Excerpt Metabox
    remove_meta_box( 'commentstatusdiv','post','normal' ); // Comments Metabox
    remove_meta_box( 'trackbacksdiv','post','normal' ); // Talkback Metabox
    remove_meta_box( 'slugdiv','post','normal' ); // Slug Metabox
    remove_meta_box( 'authordiv','post','normal' ); // Author Metabox
}
add_action('admin_menu', 'remove_default_post_screen_metaboxes');


// REMOVE META BOXES FROM DEFAULT PAGES SCREEN
function remove_default_page_screen_metaboxes() {
    remove_meta_box( 'postcustom','page','normal' ); // Custom Fields Metabox
    remove_meta_box( 'postexcerpt','page','normal' ); // Excerpt Metabox
    remove_meta_box( 'commentstatusdiv','page','normal' ); // Comments Metabox
    remove_meta_box( 'trackbacksdiv','page','normal' ); // Talkback Metabox
    remove_meta_box( 'slugdiv','page','normal' ); // Slug Metabox
    remove_meta_box( 'authordiv','page','normal' ); // Author Metabox
}
add_action('admin_menu', 'remove_default_page_screen_metaboxes');

4
මෙම wordpress.stackexchange.com/questions/34030/… ට අනුව මම මේ ආකාරයට ස්ලග්ඩීව් සඟවන්නේ නැත, නමුත් ඒ වෙනුවට මෙම gist.github.com/1863830 භාවිතා කරන්න

Or කොර්වන් නූර්ලූස් ඔබේ ගිතුබ් සබැඳිය කැඩී ඇත.
user7003859

49

"වර්ඩ්ප්‍රෙස්" ෆිල්ටරයට "වර්ඩ්ප්‍රෙස්" ඉවත් කරන්න

පරීක්ෂා කර ඇත්තේ: වර්ඩ්ප්‍රෙස් 3.0.1

වර්ඩ්ප්‍රෙස් අනුවාදය 3.0 සමඟ ෆිල්ටරයක් ​​එක් කරන ලද අතර එය "වර්ඩ්ප්‍රෙස්" (ප්‍රාග්ධන පී නැත) හි සියලුම අවස්ථාවන් ස්වයංක්‍රීයව "වර්ඩ්ප්‍රෙස්" (ප්‍රාග්ධන පී සමඟ) බවට පරිවර්තනය කරයි. සමහර අය මෙය ආක්‍රමණශීලී ලෙස දකින නමුත් වරින් වර වර්ඩ්ප්‍රෙස් වැරදි ලෙස භාවිතා කිරීමේ අවශ්‍යතාවයක් ඇති අතර පෙරණය තරමක් කරදරකාරී බව මට පෙනී ගියේය.

// Remove annoying P filter
if(function_exists('capital_P_dangit')) {
    foreach ( array( 'the_content', 'the_title' ) as $filter )
        remove_filter( $filter, 'capital_P_dangit', 11 );

    remove_filter('comment_text', 'capital_P_dangit', 31 );
}

ඉතා කුඩා සොයා ගැනීමකි. අවශ්‍ය නොවන තවත් කේත කැබැල්ලක් ඉවත් කරන එවැනි දේවලින් එකක්
NetConstructor.com

5
වර්ඩ්ප්‍රෙස් 3.0.1 හි, මෙම පෙරණය ප්‍රමුඛතා 11 සමඟ එකතු 11කර ඇති බැවින් එය ඉවත් කිරීම සඳහා තෙවන පරාමිතිය ලෙස ඔබ එකතු කළ යුතුය.
ජෑන් ෆැබ්රි

47

උපකරණ පුවරුව අභිරුචිකරණය කරන්න

add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');

function my_custom_dashboard_widgets() {
   global $wp_meta_boxes;

මෙම උපකරණ පුවරු විජට් ඉවත් කරන්න ...

   unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
   unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
   unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);

'උදව් සහ සහාය' නමින් අභිරුචි විජට් එකක් එක් කරන්න

   wp_add_dashboard_widget('custom_help_widget', 'Help and Support', 'custom_dashboard_help');
}

ඔබගේ අභිරුචි විජට් සඳහා අන්තර්ගතය මෙයයි

 function custom_dashboard_help() {
    echo '<p>Lorum ipsum delor sit amet et nunc</p>';
}

44

අභිරුචි පරිශීලක පැතිකඩ ක්ෂේත්‍ර එක් කරන්න

අභිරුචි පරිශීලක පැතිකඩ ක්ෂේත්‍ර එකතු කිරීම සඳහා පහත කේතය ඔබේ functions.php ගොනුවට දමන්න. සුදුසු යැයි පෙනෙන පරිදි පේළි සංස්කරණය කරන්න හෝ එකතු කරන්න.

රේඛාව ඉවත් නොකිරීමට මතක තබා ගන්න: ආපසු $ contactmethods; එසේ නොමැතිනම් මෙය ක්‍රියාත්මක නොවේ.

// CUSTOM USER PROFILE FIELDS
   function my_custom_userfields( $contactmethods ) {

    // ADD CONTACT CUSTOM FIELDS
    $contactmethods['contact_phone_office']     = 'Office Phone';
    $contactmethods['contact_phone_mobile']     = 'Mobile Phone';
    $contactmethods['contact_office_fax']       = 'Office Fax';

    // ADD ADDRESS CUSTOM FIELDS
    $contactmethods['address_line_1']       = 'Address Line 1';
    $contactmethods['address_line_2']       = 'Address Line 2 (optional)';
    $contactmethods['address_city']         = 'City';
    $contactmethods['address_state']        = 'State';
    $contactmethods['address_zipcode']      = 'Zipcode';
    return $contactmethods;
   }
   add_filter('user_contactmethods','my_custom_userfields',10,1);

අභිරුචි ක්ෂේත්‍ර පෙන්වීම සඳහා ඔබට පහත ලැයිස්තුගත කර ඇති ක්‍රම දෙකෙන් එකක් භාවිතා කළ හැකිය.

විකල්ප 1:

the_author_meta('facebook', $current_author->ID)

විකල්ප 2:

<?php $current_author = get_userdata(get_query_var('author')); ?>
<p><a href="<?php echo esc_url($current_author->contact_phone_office);?>" title="office_phone"> Office Phone</a></p>

41

Exerpt හි දිග වෙනස් කිරීමේ කාර්යය

පරීක්ෂා කර ඇත්තේ: වර්ඩ්ප්‍රෙස් 3.0.1

පෙරනිමියෙන් සියලුම උපුටා ගැනීම් වචන 55 කින් ආවරණය කර ඇත. පහත කේතය භාවිතා කිරීමෙන් ඔබට මෙම පෙරනිමි සැකසුම් අභිබවා යා හැකිය:

function new_excerpt_length($length) { 
    return 100;
}

add_filter('excerpt_length', 'new_excerpt_length');

මෙම උදාහරණය උපුටා ගත් දිග වචන 100 දක්වා වෙනස් කරයි, නමුත් ඔබට එය එකම අගයක් භාවිතා කර එය ඕනෑම අගයකට වෙනස් කළ හැකිය.


40 user402 ... මෙම තොප්පිය වචන හෝ අක්‍ෂර අනුවද? දෙකම කරන්නේ කෙසේදැයි ඔබට පළ කළ හැකිද?
NetConstructor.com

3
C NetConstructor.com මෙම ශ්‍රිතය (සහ excerpt_lengthකොක්ක) වචන වලින් ආවරණය කරයි .
ඊමාන්

හෙහ්. මට එම පෙරණය හරයට එකතු විය. :)
ඩොගල් කැම්බල්

41

පරිපාලන මෙනුවේ අනුපිළිවෙල අභිරුචිකරණය කරන්න

පරීක්ෂා කර ඇත්තේ: වර්ඩ්ප්‍රෙස් 3.0.1

පරිපාලන මෙනුවේ මූලද්‍රව්‍ය අනුපිළිවෙල ප්‍රතිසංවිධානය කිරීමට මෙම කේතය ඔබට ඉඩ සලසයි. ඔබ කළ යුත්තේ පරිපාලන මෙනුවේ පවතින සබැඳියක් ක්ලික් කර / wp-admin / URL ට පෙර සියල්ල පිටපත් කිරීමයි. පහත දැක්වෙන අනුපිළිවෙල නව පරිපාලන මෙනුවේ ඇති අනුපිළිවෙල නියෝජනය කරයි.

// CUSTOMIZE ADMIN MENU ORDER
function custom_menu_order($menu_ord) {
    if (!$menu_ord)
        return true;
    return array(
     'index.php', // This represents the dashboard link
     'edit.php?post_type=events', // This is a custom post type menu
     'edit.php?post_type=news',
     'edit.php?post_type=articles',
     'edit.php?post_type=faqs',
     'edit.php?post_type=mentors',
     'edit.php?post_type=testimonials',
     'edit.php?post_type=services',
     'edit.php?post_type=page', // This is the default page menu
     'edit.php', // This is the default POST admin menu
 );
}
add_filter('custom_menu_order', 'custom_menu_order');
add_filter('menu_order', 'custom_menu_order');

මූලික පෙරණයක් නම් කර custom_menu_orderතිබේද? මට එකක් සොයාගත නොහැකි විය ...
කයිසර්

4
aka කයිසර් මෙහි ලේඛනගත කර ඇත codex.wordpress.org/Plugin_API/Filter_Reference/…
මැනී ෆ්ලුමන්ඩ්

39

කළමනාකරණ පෝස්ට් / පිටු ලැයිස්තුවේ සිඟිති රූප එක් කරන්න

කළමනාකරණය සහ සංස්කරණය කරන්න පෝස්ට් සහ පිටු පෙන්වීම සඳහා ඔබට මෙය ඔබගේ කාර්යයන් සඳහා එකතු කළ හැකිය.

/****** Add Thumbnails in Manage Posts/Pages List ******/
if ( !function_exists('AddThumbColumn') && function_exists('add_theme_support') ) {

    // for post and page
    add_theme_support('post-thumbnails', array( 'post', 'page' ) );

    function AddThumbColumn($cols) {

        $cols['thumbnail'] = __('Thumbnail');

        return $cols;
    }

    function AddThumbValue($column_name, $post_id) {

            $width = (int) 35;
            $height = (int) 35;

            if ( 'thumbnail' == $column_name ) {
                // thumbnail of WP 2.9
                $thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true );
                // image from gallery
                $attachments = get_children( array('post_parent' => $post_id, 'post_type' => 'attachment', 'post_mime_type' => 'image') );
                if ($thumbnail_id)
                    $thumb = wp_get_attachment_image( $thumbnail_id, array($width, $height), true );
                elseif ($attachments) {
                    foreach ( $attachments as $attachment_id => $attachment ) {
                        $thumb = wp_get_attachment_image( $attachment_id, array($width, $height), true );
                    }
                }
                    if ( isset($thumb) && $thumb ) {
                        echo $thumb;
                    } else {
                        echo __('None');
                    }
            }
    }

    // for posts
    add_filter( 'manage_posts_columns', 'AddThumbColumn' );
    add_action( 'manage_posts_custom_column', 'AddThumbValue', 10, 2 );

    // for pages
    add_filter( 'manage_pages_columns', 'AddThumbColumn' );
    add_action( 'manage_pages_custom_column', 'AddThumbValue', 10, 2 );
}

තීරුව වම් කෙළවරට ගෙන යන්නේ කෙසේද?
පොහොසත්

39

ඔබේම බ්ලොග් අඩවියට පිං ඉවත් කරන්න

පරීක්ෂා කර ඇත්තේ: වර්ඩ්ප්‍රෙස් 3.0.1

// Remove pings to self
function no_self_ping( &$links ) {
    $home = get_option( 'home' );
    foreach ( $links as $l => $link )
        if ( 0 === strpos( $link, $home ) )
            unset($links[$l]);
}
add_action( 'pre_ping', 'no_self_ping' );

වර්ඩ්ප්‍රෙස් පිං කරන්නේ කොපමණ වාරයක් සහ කවදාද?
NetConstructor.com

මට ඇත්ත වශයෙන්ම එම ප්‍රශ්නය බොහෝ විට ඇත. මගේ WP බ්ලොග් අඩවියේ වෙනත් සටහනකට අභ්‍යන්තර සබැඳියක් සඳහන් කළහොත්, මා විසින්ම ට්‍රැක්බැක් හෝ පිංබැක් (මතක නැත) ලබා ගනී. එය කරදරයකි.
සහස් කට්ටා

මෙහෙත් එහෙමයි. මට බොහෝ විට ප්‍රවෘත්ති / සඟරා බ්ලොග් අඩවියක් ඇති අතර වෙනත් ලිපි වලට සබැඳියක් ඇත.
ස්ටීවන්

36

GZIP ප්‍රතිදාන සම්පීඩනය සක්‍රීය කරන්න

සාමාන්‍යයෙන් මෙය ස්වයංක්‍රීයව සිදු කිරීම සඳහා සේවාදායකය සැකසිය යුතුය, නමුත් බොහෝ හවුල් ධාරකයන් මෙය නොකරයි (බොහෝ විට සේවාදායක කලාප පළල භාවිතය වැඩි කිරීමට).

 if(extension_loaded("zlib") && (ini_get("output_handler") != "ob_gzhandler"))
   add_action('wp', create_function('', '@ob_end_clean();@ini_set("zlib.output_compression", 1);'));

33

DB විමසුම්, කාලය ගත කිරීම සහ මතක පරිභෝජනය ප්‍රදර්ශනය කරන්න

පරීක්ෂා කර ඇත්තේ: වර්ඩ්ප්‍රෙස් 3.0.1

function performance( $visible = false ) {

    $stat = sprintf( '%d queries in %.3f seconds, using %.2fMB memory',
            get_num_queries(),
            timer_stop( 0, 3 ),
            memory_get_peak_usage() / 1024 / 1024
        );

    echo $visible ? $stat : "<!-- {$stat} -->" ;
}

ඉහත කේතය පහළින් ඇති මෙම කේතය ස්වයංක්‍රීයව ඉහත කේතය ඔබේ පොදු වෙබ් අඩවියේ පාදයට ඇතුල් කරනු ඇත (ඔබේ තේමාව ඇමතීමට වග බලා ගන්න wp_footer):

add_action( 'wp_footer', 'performance', 20 );

එය කිහිප වතාවක් හැඳින්විය හැකිය.


php <5.2 භාවිතය සඳහාmemory_get_usage()
onetrickpony

32

වර්ඩ්ප්‍රෙස් පෙරනිමි විජට් ලියාපදිංචි නොකරන්න

පරීක්ෂා කර ඇත්තේ: වර්ඩ්ප්‍රෙස් 3.0.1

// Unregister all default WordPress Widgets
function unregister_default_wp_widgets() {
    unregister_widget('WP_Widget_Pages');
    unregister_widget('WP_Widget_Calendar');
    unregister_widget('WP_Widget_Archives');
    unregister_widget('WP_Widget_Links');
    unregister_widget('WP_Widget_Meta');
    unregister_widget('WP_Widget_Search');
    unregister_widget('WP_Widget_Text');
    unregister_widget('WP_Widget_Categories');
    unregister_widget('WP_Widget_Recent_Posts');
    unregister_widget('WP_Widget_Recent_Comments');
    unregister_widget('WP_Widget_RSS');
    unregister_widget('WP_Widget_Tag_Cloud');
}
add_action('widgets_init', 'unregister_default_wp_widgets', 1);

මම එය 3.1.4 වෙළුමේ භාවිතා කර ඇත. නමුත් විජට් තවමත් පවතී. යමෙකුට අදහසක් තිබේද?
පරිශීලක 391

WP 4.5 හි තවමත් ක්‍රියා කරයි :)
ටිම් මැලෝන්

31

ස්වයංක්‍රීයව පළමු අන්තර්ගතය පශ්චාත් අන්තර්ගතයෙන් උපුටා ගන්න

පරීක්ෂා කර ඇත්තේ: වර්ඩ්ප්‍රෙස් 3.0.1

මෙම කේතය පෝස්ට් එකකට සම්බන්ධ පළමු රූපය ස්වයංක්‍රීයව උපුටා ගන්නා අතර getImage ශ්‍රිතය ඇමතීමෙන් එය ප්‍රදර්ශනය කිරීමට / භාවිතා කිරීමට ඔබට ඉඩ සලසයි.

// AUTOMATICALLY EXTRACT THE FIRST IMAGE FROM THE POST
function getImage($num) {
    global $more;
    $more = 1;
    $link = get_permalink();
    $content = get_the_content();
    $count = substr_count($content, '<img');
    $start = 0;

    for($i=1;$i<=$count;$i++) {
        $imgBeg = strpos($content, '<img', $start);
        $post = substr($content, $imgBeg);
        $imgEnd = strpos($post, '>');
        $postOutput = substr($post, 0, $imgEnd+1);
        $postOutput = preg_replace('/width="([0-9]*)" height="([0-9]*)"/', '',$postOutput);;
        $image[$i] = $postOutput;
        $start=$imgEnd+1;
    }

    if(stristr($image[$num],'<img')) {
        echo '<a href="'.$link.'">'.$image[$num]."</a>";
    }
    $more = 0;
}

6
හොඳයි, නමුත් get_the_image මේ සමඟම ඉතා හොඳ කාර්යයක් ඉටු කරයි. wordpress.org/extend/plugins/get-the-image
artlung

නිවැරදි නමුත් මෙය වෙනස් ආකාරයකින් ක්‍රියාත්මක වන අතර get_the_image සැලකිල්ලට නොගන්නා විවිධ ගැටළු නිරාකරණය කරයි
NetConstructor.com

3
Get_the_image ස්ක්‍රිප්ටයට වඩා වෙනස්ව එය කරන්නේ කුමක්ද?
matt

1
atmatt - වර්ඩ්ප්‍රෙස් තුළ පෝස්ට් වලට පින්තූර එකතු කළ හැකි විවිධ ක්‍රම ඇති අතර මම සිතන්නේ get_the_image ස්ක්‍රිප්ට් එකෙන් එකක් දෙස බලයි. මෙය විශේෂිත රූපයක් තිබේදැයි බැලීමට පරික්ෂා කරන අතර එය ලබා ගත හැකි නම් පළමුව එය භාවිතා කරයි, ඊළඟට එය පෝස්ට් අන්තර්ගතයට එකතු කරන ලද පළමු රූපය සඳහා පරික්ෂා කරන අතර එය සොයාගත නොහැකි නම් එය ඉහළම වර්ගයේ රූපය සඳහා මාධ්‍ය ගැලරිය පරීක්ෂා කරයි ඇණවුම (අවම වශයෙන් මට ඇණවුම මතක ඇති ආකාරය එයයි).
NetConstructor.com

මම යෝජනා කරන්නේ wordpress.org/extend/plugins/auto-post-thumbnail තනතුරේ පළමු රූපයෙන් හෝ ඕනෑම අභිරුචි පෝස්ට්
වර්ගයකින්

28

ශීර්ෂ පා in යේ පෝස්ට් / පිටුවක් භාවිතා කරන තේමා අච්චු ගොනුව ප්‍රතිදානය කරන්න

add_action('wp_head', 'show_template');
function show_template() {
    global $template;
    print_r($template);
}

ඔබගේ තේමාව post_class භාවිතා කරන්නේ නම් පෙරනිමි DIV ප්‍රතිදානය කෙටි කරන්න.

ඔබේ තේමාව වැනි දෙයක් භාවිතා කරන්නේ නම්

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

ඔබේ මූලාශ්‍රය තුළ පිස්සු දිගු බෙදීම් තිබිය හැකි අතර එය මේ වගේ හෝ ඊටත් වඩා දිගු විය හැකිය:

<div id="post-4" class="post-4 post type-post hentry category-uncategorized category-test category-test-1-billion category-test2 category-test3 category-testing">

මෙය සැබවින්ම ඔබේ මූලාශ්‍රය අවුල් කිරීමට පටන් ගත හැකි අතර බොහෝ අවස්ථාවන්හිදී එය අනවශ්‍ය යැයි පෙනේ, 3-4 ගැඹුරට යාම ප්‍රමාණවත්ය.

ඉහළම උදාහරණය සඳහා අපට ප්‍රතිදානය එලෙස කපා ගත හැකිය:

// Slice crazy long div outputs
function category_id_class($classes) {
    global $post;
    foreach((get_the_category($post->ID)) as $category)
        $classes[] = $category->category_nicename;
        return array_slice($classes, 0,5);
}
add_filter('post_class', 'category_id_class');

මෙය පළමු අගයන් 5 පමණක් ඇතුළත් කිරීම සඳහා ප්‍රතිදානය කපා දමයි, එබැවින් ඉහත උදාහරණය බවට පත්වේ:

<div id="post-4" class="post-4 post type-post hentry category-uncategorized">

පෝස්ට් වර්ගය නොසලකා කාණ්ඩ ලේඛනාගාරය සියලුම සටහන් ප්‍රදර්ශනය කරන්න: අභිරුචි පෝස්ට් වර්ග සඳහා හොඳයි

function any_ptype_on_cat($request) {

    if ( isset($request['category_name']) )
        $request['post_type'] = 'any';

    return $request;
}
add_filter('request', 'any_ptype_on_cat');

අනවශ්‍ය උපකරණ පුවරු අයිතම ඉවත් කරන්න

මෙය දැනටමත් පළ කර ඇති නමුත් එහි සම්පූර්ණ අයිතම ලැයිස්තුවක් නොතිබුණි. විශේෂයෙන් කරදරකාරී "එන සබැඳි!"

add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');

function my_custom_dashboard_widgets() {
    global $wp_meta_boxes;

    // Right Now - Comments, Posts, Pages at a glance
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);

    // Recent Comments
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);

    // Incoming Links
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);

    // Plugins - Popular, New and Recently updated Wordpress Plugins
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);

    // WordPress Development Blog Feed
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);

    // Other WordPress News Feed
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);

    // Quick Press Form
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);

    // Recent Drafts List
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']);
}

"වැඩිදුර කියවන්න" පිටු පැනීම ඉවත් කරන්න **

ඒ වෙනුවට පිටුවේ ඉහළට ආපසු යන්න. ඔබ "වැඩිදුර කියවන්න" ක්ලික් කළ විට එය කරදරකාරී විය හැකි පිටුවේ ස්ථානයට පනින්නේ කෙසේදැයි ඔබ දන්නවා, මෙය සාමාන්‍යයෙන් පිටුව පූරණය කිරීමට සලස්වයි, පැනීමක් නැත!

function remove_more_jump_link($link) {
    $offset = strpos($link, '#more-');
    if ($offset) {
        $end = strpos($link, '"', $offset);
    }
    if ($end) {
        $link = substr_replace($link, '', $offset, $end-$offset);
    }
    return $link;
}
add_filter('the_content_more_link', 'remove_more_jump_link');

පරිශීලක නාමය මත පදනම්ව ADMIN මෙනු අයිතම සීමා කරන්න , පරිශීලක නාමය සත්‍ය පරිශීලක නාමයකින් ආදේශ කරන්න.

function remove_menus()
{
    global $menu;
    global $current_user;
    get_currentuserinfo();

    if($current_user->user_login == 'username')
    {
        $restricted = array(__('Posts'),
                            __('Media'),
                            __('Links'),
                            __('Pages'),
                            __('Comments'),
                            __('Appearance'),
                            __('Plugins'),
                            __('Users'),
                            __('Tools'),
                            __('Settings')
        );
        end ($menu);
        while (prev($menu)) {
            $value = explode(' ',$menu[key($menu)][0]);
            if(in_array($value[0] != NULL ? $value[0] : "" , $restricted)) {
                unset($menu[key($menu)]);
            }
        } // end while

    } // end if
}
add_action('admin_menu', 'remove_menus');

// විකල්පයක් ලෙස ඔබට ($ current_user-> user_login! = 'admin') භාවිතා කළ හැකිය.

ටැග් වලාකුළු මෝස්තර කරන්න

// Tag cloud custom
add_filter('widget_tag_cloud_args', 'style_tags');
function style_tags($args) {
    $args = array(
         'largest'    => '10',
         'smallest'   => '10',
         'format'     => 'list',
         );
    return $args;
}

විකල්ප පිළිබඳ සම්පූර්ණ සඳහනක් මෙහි ඇත (බොහෝ දේ ඇත!) Http://codex.wordpress.org/Function_Reference/wp_tag_cloud

පෙරනිමි RSS විජට් යාවත්කාලීන ටයිමරය වෙනස් කරන්න

(පෙරනිමිය පැය 6 ක් හෝ 12 ක් - මට අමතකයි (1800 = විනාඩි 30).

add_filter( 'wp_feed_cache_transient_lifetime', create_function('$fixrss', 'return 1800;') );

කරුණාකර ඔබට ඉදිරි සති කිහිපය තුළ මේ සෑම එකක්ම වෙනම පිළිතුරු වලට බෙදිය හැකිද? මම ඔබ වෙනුවෙන් එය කිරීමට යන නමුත් ඔබගේ පිළිතුරු සඳහා මම ගෞරවය ලබා ගන්නා බවක් පෙනෙන්නට අවශ්‍ය නොවීය. ඕනෑම අවස්ථාවක - මම මෙය සංවිධානාත්මකව තබා ගැනීමට උත්සාහ කරමි එවිට පරිශීලකයින්ට ඔවුන් සොයන තොරතුරු පහසුවෙන් සොයාගත හැකිය. කල්තියා ස්තූතියි
NetConstructor.com

මම භාවිතා කළේ "පරිශීලක නාමය මත පදනම්ව ADMIN මෙනු අයිතම සීමා කරන්න, පරිශීලක නාමය සැබෑ පරිශීලක නාමයකින් ආදේශ කරන්න" එය විශිෂ්ටයි නමුත් ඔබට නිශ්චිත "පරිශීලක භූමිකාවක්" සඳහා මෙය කළ හැකි ආකාරය පෙන්වීමට කේතය යාවත්කාලීන කළ හැකිද? මම හිතන්නේ මෙය ඉතා ප්‍රයෝජනවත් වේවි!
NetConstructor.com

කණගාටුයි NetConstructor මම දැන් ඔබේ අදහස දුටුවෙමි. පරිශීලක භූමිකාව සඳහා මම "current_user_can" භාවිතා කරමි. එය පරීක්ෂා කිරීමට මට වෙලාවක් නැත, නමුත් එසේ කළ විට මම එය එකතු කරමි.
වික්

wp_feed_cache_transient_lifetime සඳහා පෙරනිමි අගය 43200 (පැය 12)
brasofilo

27

අක්‍රීය ප්ලගීන සඳහා පමණක් ප්ලගීන යාවත්කාලීන දැන්වීම ඉවත් කරන්න

function update_active_plugins($value = '') {
    /*
    The $value array passed in contains the list of plugins with time
    marks when the last time the groups was checked for version match
    The $value->reponse node contains an array of the items that are
    out of date. This response node is use by the 'Plugins' menu
    for example to indicate there are updates. Also on the actual
    plugins listing to provide the yellow box below a given plugin
    to indicate action is needed by the user.
    */
    if ((isset($value->response)) && (count($value->response))) {

        // Get the list cut current active plugins
        $active_plugins = get_option('active_plugins');    
        if ($active_plugins) {

            //  Here we start to compare the $value->response
            //  items checking each against the active plugins list.
            foreach($value->response as $plugin_idx => $plugin_item) {

                // If the response item is not an active plugin then remove it.
                // This will prevent WordPress from indicating the plugin needs update actions.
                if (!in_array($plugin_idx, $active_plugins))
                    unset($value->response[$plugin_idx]);
            }
        }
        else {
             // If no active plugins then ignore the inactive out of date ones.
            foreach($value->response as $plugin_idx => $plugin_item) {
                unset($value->response);
            }          
        }
    }  
    return $value;
}
add_filter('transient_update_plugins', 'update_active_plugins');    // Hook for 2.8.+
//add_filter( 'option_update_plugins', 'update_active_plugins');    // Hook for 2.7.x

1
මෙය අත්‍යවශ්‍යයෙන්ම හොඳ අදහසක් නොවේ - අක්‍රීය ප්ලගිනයක් තවමත් ගොනු පද්ධතිය තුළ පවතින අතර, අනාරක්ෂිත එකක් තවමත් වෙබ් අඩවිය හැක් කිරීමට භාවිතා කළ හැකිය. ප්ලගීන සෑම විටම යාවත්කාලීනව තබා ගත යුතුය.
ටිම් මැලෝන්

26

<head>ටැගය තුළ ඇති අතිරික්ත තොරතුරු සහ HTML ඉවත් කරන්න

// remove unnecessary header info
add_action( 'init', 'remove_header_info' );
function remove_header_info() {
    remove_action( 'wp_head', 'rsd_link' );
    remove_action( 'wp_head', 'wlwmanifest_link' );
    remove_action( 'wp_head', 'wp_generator' );
    remove_action( 'wp_head', 'start_post_rel_link' );
    remove_action( 'wp_head', 'index_rel_link' );
    remove_action( 'wp_head', 'adjacent_posts_rel_link' );         // for WordPress < 3.0
    remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head' ); // for WordPress >= 3.0
}

// remove extra CSS that 'Recent Comments' widget injects
add_action( 'widgets_init', 'remove_recent_comments_style' );
function remove_recent_comments_style() {
    global $wp_widget_factory;
    remove_action( 'wp_head', array(
        $wp_widget_factory->widgets['WP_Widget_Recent_Comments'],
        'recent_comments_style'
    ) );
}

24

සජීවී අඩවි වල භාවිතා කිරීමට දෝෂ නිදොස් කිරීම සහ ලොග් වීම සක්‍රීය කරන්න

මෙය පෙරනිමියෙන් අක්‍රීය කර ඇති WP_DEBUG නියතයන් භාවිතා කිරීම සඳහා මා ලියූ කේත කොටසකි. හොඳයි, මම WP_DEBUG සක්‍රීය කිරීමට පමණක් නොව negative ණාත්මක අතුරු ආබාධ නොමැති සජීවී වෙබ් අඩවියක එය භාවිතා කිරීමට ක්‍රමයක් නිර්මාණය කළෙමි, නමුත් දෝෂ පෙන්වීමට බල කිරීම සඳහා සහ ලොග් ගොනුවක් නිර්මාණය කිරීම සඳහා මම වෙනත් නිදොස් කිරීමේ නියතයන් භාවිතා කළෙමි. / wp-content බහලුමේ ඇති දෝෂ සහ දැන්වීම්.

මෙම කේතය ඔබගේ wp-config.php ගොනුවට දමන්න (ඔබ පසු විපරම් කළ පසු), එවිට ඔබට ඔබේ වෙබ් අඩවියේ ඕනෑම URL එකක අවසානයේ “debug = 1, 2, හෝ 3 පරාමිතීන් පසු කළ හැකිය.

? debug = 1 = සියළුම දෝෂ / දැන්වීම් පෙන්වයි? debug = 2 = ඒවා ප්‍රදර්ශනය කිරීමට බල කරයි? debug = 3 = / wp-content dir හි ඇති සියලුම දෝෂ වල debug.log ගොනුවක් සාදයි.

/**
* Written by Jared Williams - http://new2wp.com
* @wp-config.php replace WP_DEBUG constant with this code
* Enable WP debugging for usage on a live site
* http://core.trac.wordpress.org/browser/trunk/wp-includes/load.php#L230
* Pass the '?debug=#' parameter at the end of any URL on site
*
* http://example.com/?debug=1, /?debug=2, /?debug=3
*/
if ( isset($_GET['debug']) && $_GET['debug'] == '1' ) {
    // Enable the reporting of notices during development - E_ALL
    define('WP_DEBUG', true);
} elseif ( isset($_GET['debug']) && $_GET['debug'] == '2' ) {
    // Must be true for WP_DEBUG_DISPLAY to work
    define('WP_DEBUG', true);
    // Force the display of errors
    define('WP_DEBUG_DISPLAY', true);
} elseif ( isset($_GET['debug']) && $_GET['debug'] == '3' ) {
    // Must be true for WP_DEBUG_LOG to work
    define('WP_DEBUG', true);
    // Log errors to debug.log in the wp-content directory
    define('WP_DEBUG_LOG', true);
}

ඔබ කැමති නම් මම කොම්ලූව් වෙනුවෙන් ලියූ ආගන්තුක සටහන ගැන වැඩි විස්තර දැනගන්නෙමි: http://comluv.com/dev/enable-debugging-and-logging-for-live-site-usage/

මම තවමත් මෙය මුරපදය ආරක්‍ෂා කර ගැනීමේ මාර්ගයක වැඩ කරමින් සිටිමි, නැතහොත් (current_user_can ('management_themes') සහ is_logged_in () නම් එය කෙසේ හෝ ක්‍රියාත්මක කිරීමට කැමැත්තක් දක්වයි.

නමුත් එතැනින් එය වඩාත් ව්‍යාකූල වේ.


සජීවී, වේදිකාගත කිරීම් සහ dev දත්ත සමුදා සම්බන්ධතා තොරතුරු සැකසීමට සමාන දෙයක් අපි භාවිතා කරමු.
ටොම්

21

නව කාර්යභාරයන් සහ හැකියාවන් - එක් වරක් පමණක් ධාවනය කරන්න!

මම මේවා පහසුවෙන් තබා ගන්නවා, ප්ලගිනයක් නොමැතිව ඒවා කිරීමට මෙය නිවැරදි ක්‍රමයයි. ඔවුන් විකල්ප දත්ත ගබඩාවේ තනි ක්ෂේත්‍රයක් (උපසර්ගය_සර්_රොල්ස්) සකසා ඇති අතර ඒවා සැකසීමට ඔබට ප්ලගිනයක් අවශ්‍ය නොවේ. ලබා ගත හැකි හැකියාවන් ලැයිස්තුවක් සහ ඔවුන් කරන දේ පිළිබඳ විස්තර සඳහා කෝඩෙක්ස් පිටුව බලන්න. ඔබට අවශ්‍ය වන්නේ මෙම කොටස් වලින් එකක් ඉවත් කිරීම, ඕනෑම පිටුවක් පටවා නැවත අදහස් දැක්වීම පමණි! මෙන්න මම මට අවශ්‍ය හැකියාවන් ඇති භූමිකාවක් නිර්මාණය කරමි:

/* Capabilities */

// To add the new role, using 'international' as the short name and
// 'International Blogger' as the displayed name in the User list and edit page:
/*
add_role('international', 'International Blogger', array(
    'read' => true, // True allows that capability, False specifically removes it.
    'edit_posts' => true,
    'delete_posts' => true,
    'edit_published_posts' => true,
    'publish_posts' => true,
    'edit_files' => true,
    'import' => true,
    'upload_files' => true //last in array needs no comma!
));
*/


// To remove one outright or remove one of the defaults:
/* 
remove_role('international');
*/

එකක් ඉවත් කිරීම සහ නැවත එකතු කිරීම වෙනුවට පවතින භූමිකාවෙන් එකතු කිරීම / ඉවත් කිරීම සමහර විට පහසුය. නැවතත්, ඔබට අවශ්‍ය වන්නේ එය නිරවුල් කිරීම, පිටුවක් නැවත පූරණය කිරීම සහ නැවත අදහස් දැක්වීම පමණි. මෙය විකල්ප වගුවේ කාර්යභාරය / හැකියාව නිසි ලෙස ගබඩා කරනු ඇත. . ඔවුන්ගේ ප්‍රකාශිත සටහන් (පෙරනිමියෙන් මෙම භූමිකාවට කළ නොහැකි) - * add_cap * හෝ * remove_cap * භාවිතා කිරීම.

/*
$edit_role = get_role('author');
   $edit_role->add_cap('edit_published_posts');
   $edit_role->remove_cap('delete_published_posts');
*/

මේ ආකාරයෙන් වෙනස් කරන අඩවි සඳහා මම කෝඩෙක්ස් පිටුවෙන් ජාලකය සමඟ පැතුරුම්පතක් තබා ගතිමි, එබැවින් ඔබේ ශ්‍රිතවල අදහස් දැක්වීමේ කේතය තැබුවද, දේවල් සකසා ඇති ආකාරය මට මතක ඇත. Php ගොනුව ක්‍රියා කරයි. මෙම උදාහරණ නිරුපද්‍රිතව තබන්න එපා, නැතහොත් එය එක් එක් පිටු පැටවීම සමඟ දත්ත ගබඩාවට ලියනු ඇත!


මා ඉහත සඳහන් කළ කාර්යයන් විකල්ප දත්ත ගබඩාවේ ක්ෂේත්‍රයකට ලියයි. ඒවාට අදහස් දැක්වීම හා නොගැලපීම යනු යා යුතු මාර්ගයයි. පරිශීලක භූමිකාවන් සඳහා ප්ලගීන තිබේ, නමුත් ඔබ ඉහත සඳහන් කළ කාර්යයන් භාවිතා කරන්නේ නම්, ඔබට මෙම කාර්යයන් ක්‍රියාත්මක වීමට ඉඩ දිය නොහැකි අතර, ඔබට ඒවා එක් වරකට වඩා සැකසීමට අවශ්‍ය නොවේ, නැතහොත් නිශ්චිත පරිශීලකයෙකු යම් දෙයකට ප්‍රවේශ වන්නේ නම් ඒවා මත පදනම්ව ඒවා සකසන්න. ඔබට එය අවශ්‍ය නම්, එම පරිශීලකයාට සුවිශේෂී, අද්විතීය භූමිකාවක් සකසන්න. කෝඩෙක්ස් වෙත යොමු වන්න, ඔබ ප්ලගිනයක් නොමැතිව එය කරන්නේ නම් මා ඉහත ලියන සියල්ල 100% නිවැරදි වේ. සෑම අවස්ථාවකම පාහේ, ඔබට අවශ්‍ය වන්නේ පරිශීලක භූමිකාවන් එක් වරක් පමණි.
tomcat23

@ tomcat23: නිදර්ශනය කිරීම සඳහා, මම එය ශ්‍රිතයක් තුළට ඔතා ඇත්තේ එම භූමිකාව දැනටමත් නොපවතින විට පමණි. තවත් සටහනක්: භූමිකාව ධූරාවලිය තුළ කොතැනක හෝ ස්ථානගත කිරීම පහසු වනු ඇතැයි මම සිතමි, සමහරක් ගොඩනඟන ලද භූමිකාවන්ගෙන් තොප්පි ලබාගෙන පසුව ගොඩනඟන ලද භූමිකාවෙන් හැකියාවන් එකතු කිරීම / ඉවත් කිරීම. හිටපු අය අතර කොතැනක හෝ තොප්පි තබා තිබේදැයි මතක තබා ගැනීම වඩාත් පැහැදිලි සහ පහසු කරයි. පරිපාලක සහ සංස්කාරක. - මම ඔබේ පිළිතුර සංස්කරණය කළ බව ඔබට ප්‍රශ්නයක් නොවනු ඇතැයි මම බලාපොරොත්තු වෙමි. ඔබ එසේ කරන්නේ නම්, එය නැවත ඉටු කරන්න. :)
කයිසර්

1
@ tomcat23 - මෙම අවස්ථාවේදී පාලම යට ජලය. මා කියන්නේ, දොස් පැවරීමට මා උනන්දු නොවන්නේ, ඉදිරියට යන සෑම කෙනෙකුටම සාමය ලබා දීම සඳහා ය. :)
මයික්ස්චින්කල්

2
IkeMikeSchinkel ඔව්, ඔබ හරි. මම ඔබට අපහාස කළා නම් මගේ සමාව ඉල්ලන්න.
tomcat23

1
Ike මයික්ස්චින්කල්: සාමය නැවත ගෙන ඒමට ස්තූතියි. @ Tomcat23: නැහැ, ඔබ එසේ කළේ නැහැ. මට එවැනි විවේචන සමඟ කටයුතු කළ හැකිය. මගේ සමාව ද ඇත.
කයිසර්

21

පොදු පිටුවලට ගතික මාතෘකා ස්වයංක්‍රීයව එක් කරන්න

පරීක්ෂා කර ඇත්තේ: වර්ඩ්ප්‍රෙස් 3.0.1

පහත කේතය භාවිතා කිරීමෙන් ප්‍රසිද්ධියේ නරඹන පිටු / සටහන් මත පදනම්ව ගතික පිටු මාතෘකා ස්වයංක්‍රීයව නිර්මාණය වේ.

/* Dynamic Titles **/
// This sets your <title> depending on what page you're on, for better formatting and for SEO
// You need to set the variable $longd to some custom text at the beginning of the function
function dynamictitles() {
    $longd = __('Enter your longdescription here.', 'texdomainstring');
        if ( is_single() ) {
          wp_title('');
          echo ' | '.get_bloginfo('name');

    } else if ( is_page() || is_paged() ) {
          bloginfo('name');
          wp_title('|');

    } else if ( is_author() ) {
          bloginfo('name');
          wp_title(' | '.__('Author', 'texdomainstring'));

    } else if ( is_category() ) {
          bloginfo('name');
          wp_title(' | '.__('Archive for', 'texdomainstring'));

    } else if ( is_tag() ) {
          echo get_bloginfo('name').' | '.__('Tag archive for', 'texdomainstring');
          wp_title('');

    } else if ( is_archive() ) {
          echo get_bloginfo('name').' | '.__('Archive for', 'texdomainstring');
          wp_title('');

    } else if ( is_search() ) {
          echo get_bloginfo('name').' | '.__('Search Results', 'texdomainstring');
    } else if ( is_404() ) {
          echo get_bloginfo('name').' | '.__('404 Error (Page Not Found)', 'texdomainstring');

    } else if ( is_home() ) {
          echo get_bloginfo('name').' | '.get_bloginfo('description');

    } else {
          echo get_bloginfo('name').' | '.($blog_longd);
    }
}

20

වර්ඩ්ප්‍රෙස් අභිරුචි පරිපාලක පාදකය

// පරිපාලක පාදක පෙළ අභිරුචිකරණය කරන්න
අභිරුචි_අඩ්මින්_ෆූටරය () function
        echo 'ඔබේ අභිරුචි පාදක පෙළ සහ html මෙහි එක් කරන්න';
} 
add_filter ('admin_footer_text', 'custom_admin_footer');

දේව් ලෙස මා සම්බන්ධ කර ගැනීම සඳහා සරල යොමු ලක්ෂ්‍යයක් ලෙස මම මෙය සේවාදායක අඩවි සඳහා භාවිතා කරමි.


20

විජට් වල කෙටිමං සක්‍රීය කරන්න

// shortcode in widgets
if ( !is_admin() ){
    add_filter('widget_text', 'do_shortcode', 11);
}

19

RSS සංග්‍රහ අක්‍රීය කිරීමේ කාර්යය

පරීක්ෂා කර ඇත්තේ: වර්ඩ්ප්‍රෙස් 3.0.1

ඔබට RSS සංග්‍රහ අක්‍රිය කළ හැකිය ඔබේ වර්ඩ්ප්‍රෙස් පදනම් කරගත් වෙබ් අඩවිය ස්ථිතික ලෙස පවත්වා ගැනීමට ඔබට අවශ්‍ය නම්.

ඔබට මෙම ශ්‍රිතය භාවිතා කළ හැකිය:

function fb_disable_feed() {
wp_die( __('No feed available,please visit our <a href="'. get_bloginfo('url') .'">homepage</a>!') );
}

add_action('do_feed', 'fb_disable_feed', 1);
add_action('do_feed_rdf', 'fb_disable_feed', 1);
add_action('do_feed_rss', 'fb_disable_feed', 1);
add_action('do_feed_rss2', 'fb_disable_feed', 1);
add_action('do_feed_atom', 'fb_disable_feed', 1);

මුලාශ්‍රය: bueltge.de/wordpress-feeds-deaktivieren/794 (ෆ්‍රෑන්ක් බුවෙල්ට්ජ්)
ෆුසියා

ස්තූතියි ටොස්චෝ! මූලාශ්‍රය ඉංග්‍රීසි භාෂාවෙන්
bueltge

16

"ආයුබෝවන්" පණිවිඩය "සාදරයෙන් පිළිගනිමු" ලෙස වෙනස් කරන්න

මෙම ශ්‍රිතය සමඟ ඔබේ පරිපාලක ප්‍රදේශයේ ඉහළ දකුණේ ඇති “හැව්ඩි” පණිවිඩය රිසිකරණය කළ හැකිය.
මෙම ක්‍රියාව මඟින් "හැව්ඩි" පණිවිඩය "සාදරයෙන් පිළිගනිමු" ලෙස වෙනස් කිරීමට JQuery භාවිතා කරයි.

/****** Customize admin message "Howdy" to "Welcome" ******/
$nohowdy = "Welcome";

if (is_admin()) {
    add_action('init', 'artdev_nohowdy_h');
    add_action('admin_footer', 'artdev_nohowdy_f');
}
// Load jQuery
function artdev_nohowdy_h() {
    wp_enqueue_script('jquery');
}
// Modify
function artdev_nohowdy_f() {
global $nohowdy;
echo <<<JS
<script type="text/javascript">
//<![CDATA[
var nohowdy = "$nohowdy";
jQuery('#user_info p')
    .html(
    jQuery('#user_info p')
        .html()
        .replace(/Howdy/,nohowdy)
    );
//]]>
JS;
}

gettextපෙරණය භාවිතා කරමින් PHP අනුවාදය :

add_filter('gettext', 'change_howdy', 10, 3);

function change_howdy($translated, $text, $domain) {

    if (!is_admin() || 'default' != $domain)
        return $translated;

    if (false !== strpos($translated, 'Howdy'))
        return str_replace('Howdy', 'Welcome', $translated);

    return $translated;
}

3
මෙය දැනටමත් PHP පැත්තෙන් සංස්කරණය කළ නොහැකි බැවින් එයට ප්‍රතිදානය නොලැබේ.
hakre

එය 3.0+ අනුවාද වල හොඳින් ක්‍රියාත්මක වන බව සහතිකයි, නමුත් පැරණි අනුවාදවල එසේ නොවන්නේ ඇයි? ඔබ භාවිතා කරන වෙනත් ප්ලගිනයක් මේ සඳහා වගකිව යුතුදැයි පරීක්ෂා කරන්න. මෙහි ඇති පා J ය JQuery සමඟ ප්‍රතිස්ථාපනය විය, සමහර විට JQuery ප්ලගිනයක් ද?
පිලිප්
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.