WordPress

WordPress Siteniz İçin Gerekli Kodlar

WordPress siteniz için kullanışlı kodlar paylaşmak istedik:

Kodları kullandığınız temanın functions.php dosyasının en altında bulunan ?> den hemen önceki satıra eklemelisiniz.

/* Admin Bar Gizleme */
  show_admin_bar(false);
  • Yukarıdaki kodu kullanarak Admin Bar’ı tüm kullanıcılardan gizleyebilirsiniz.

/* Admin dışındaki tüm kullanıcılar için Admin Bar gizleme */
add_action('after_setup_theme', 'remove_admin_bar');

function remove_admin_bar() {
if (!current_user_can('administrator') && !is_admin()) {
  show_admin_bar(false);
}
}
  • Yukarıdaki kodu kullanarak Admin dışındaki tüm kullanıcılar için Admin Bar’ı gizleyebilirsiniz.

if( !function_exists('custom_user_login_redirect') ) {
function custom_user_login_redirect() {
$redirect_to = 'https://www.site.com/';
return $redirect_to;
}
add_filter('login_redirect','custom_user_login_redirect',10,3);
}
  • Eğer Buddypress eklentisini kullanıyorsanız, yukarıdaki kod sayesinde üyeleriniz giriş yaptığında ana sayfaya yönlendirebilirsiniz.

add_action('init', function(){
   global $wp_rewrite;
        $wp_rewrite->pagination_base = 'sayfa';
	$wp_rewrite->author_base = 'yazar';
        $wp_rewrite->flush_rules();
});
  • Yukarıdaki kodu kullanarak /author ve /page uzantısını Türkçe yapabilirsiniz.

function remove_email_url($fields) {
    unset($fields['url']);
    unset($fields['email']);
    return $fields;
}

add_filter('comment_form_default_fields', 'remove_email_url');
  • Yukarıdaki kod sayesinde WordPress yorum alanından E-posta ve URL alanlarını kaldırabilirsiniz. Sadece URL alanını kaldırmak istiyorsanız koddaki unset($fields[’email’]); yazan yeri siliniz.

add_filter('use_block_editor_for_post', '__return_false');
  • WordPress eski editörü kullanmak için yukarıdaki kodu kullanabilirsiniz.

// Function to change email address

function wpb_sender_email( $original_email_address ) {
    return '[email protected]';
}

// Function to change sender name
function wpb_sender_name( $original_email_from ) {
	return 'Site Adı';
}

// Hooking up our functions to WordPress filters 
add_filter( 'wp_mail_from', 'wpb_sender_email' );
add_filter( 'wp_mail_from_name', 'wpb_sender_name' );
  • WordPress gönderici posta adresini yukarıdaki kod sayesinde değiştirebilirsiniz.

/*Remove WordPress menu from admin bar*/
add_action( 'admin_bar_menu', 'remove_wp_logo', 999 );
function remove_wp_logo( $wp_admin_bar ) {
	$wp_admin_bar->remove_node( 'wp-logo' );
}
  • WordPress menüsünü Admin Bar’dan kaldırmak için yukarıdaki kodu kullanın.

// WordPress giriş sayfası logusunu değiştirme
function custom_loginlogo() {
echo '<style type="text/css"> 
body.login div#login h1 a {
background-image: url(https://www.site.com/wp-content/uploads/2020/01/logo.png);
}
.login h1 a {
background-size: 300px;
width: 300px;
height: 75px;
</style>';
}
add_action('login_head', 'custom_loginlogo');

add_filter( 'login_headerurl', 'custom_loginlogo_url' );
function custom_loginlogo_url($url) {
    return 'https://www.site.com';
}

function my_login_logo_url_title() {
  return 'Site Adı';
}
add_filter( 'login_headertitle', 'my_login_logo_url_title' );
  • /wp-login.php sayfasındaki giriş WordPress logosunu kendi logonuzla değiştirmek için kullanabileceğiniz kod yukarıdadır.

//jQuery Google Library
function replace_jquery() {
 if (!is_admin()) {
 // comment out the next two lines to load the local copy of jQuery
 wp_deregister_script('jquery');
 wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js', false, '1.11.3');
 wp_enqueue_script('jquery');
 }
}
add_action('init', 'replace_jquery');
  • WordPress jQuery dosyalarını Google CDN üzerinden çekmek için yukarıdaki kodu kullanabilirsiniz. Bu kod sayesinde sunucuya binen yükü azaltmış olursunuz.

// wordpress versiyonu gizleme
function complete_version_removal() {
 return '';
}
add_filter('the_generator', 'complete_version_removal');
  • WordPress sitenizi geçmiş sürümlerdeki açıklara karşı saldırılardan korumak için versiyon bilgisini gizleyebilirsiniz.

// yorumlar istenemeyen & sil linkleri ekleme
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>';
 }
}
  • WordPress de admin panele girmeden paylaştığınız sayfada bulunan yorumlara istenmeyen ve sil linkleri ekleyebilirsiniz.

/**
 * Onizlemeleri wp-config.php dosyasinda belirtilmedikce functions uzerinden sinirlandirma
 */
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', 5);
  • Bir yazı yazarken önizleme yaptığınızda bu veritabanında bir kayıt oluşturur. Veritabanına yük bindirmemek için bunu sınırlandırabilirsiniz.

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);
  • jpeg formatındaki resimleri yeniden boyutlandırdığınızda resimler bulanık gözükebilir. Bu yukarıdaki kod sayesinde resmi netleştirebilirsiniz.

function new_excerpt_length($length) { 
return 100;
}
add_filter('excerpt_length', 'new_excerpt_length');
  • WordPress’te yazı özeti 55 kelimeden oluşur. Eğer temanızdan bu sayıyı değiştirecek bölüm yoksa üstteki kod sayesinde bunu yapabilirsiniz. 100 sayısını istediğiniz kelime sayısıyla değişebilirsiniz.

/****** Öne Çıkarılmış Görselleri Yazı/Sayfa Sekmesinde Gösterme ******/
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 );
}
  • WordPress admin panelde Yazılar/Sayfalar bölümünde öne çıkan görselleri göstermek için yukarıdaki kodu kullanabilirsiniz.

//site içi ping kapatma
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' );
  • Site içi linkleme yaptığınızda pingback (geri bildirim) alırsınız. Bunu kapatmak için yukarıdaki kodu kullanın.

add_filter('get_post_metadata', function($value, $object_id, $meta_key, $single) {
if ($meta_key !== '_thumbnail_id' || $value) {
return $value;
}
preg_match('~<img[^>]+wp-image-(\\d+)~', get_post_field('post_content', $object_id), $matches);
if ($matches) {
return $matches[1];
}
return $value;
}, 10, 4);
  • Yazılarınızdaki ilk resmi öne çıkarılmış görsel olarak ayarlamak için yukarıdaki kodu kullanın.

// unregister all default WP 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_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);
  • WordPress’i ilk kurduğunuzda varsayılan olarak bir sürü eklenti gelir. Bu eklentilerin işinizde yaramayacağını düşünüyorsanız kaldırabilirsiniz.

// Admin Footer
function custom_admin_footer() {
echo 'Site Adı - Açıklama';
} 
add_filter('admin_footer_text', 'custom_admin_footer');
  • Admin paneli footer kısmında bulunan “WordPress ile oluşturduğunuz için teşekkürler.” yazısını değiştirmek isteyebilirsiniz. Bunun için yukarıdaki kodu kullanabilirsiniz.

function keep_me_logged_in_for_1_year( $expirein ) {
return 31556926; // 1 year in seconds
}
add_filter( 'auth_cookie_expiration', 'keep_me_logged_in_for_1_year' );
  • WordPress sitenizde giriş yaptığınızda belli bir süre sonra otomatik olarak çıkış yaptığınızı görürsünüz. Bu süreyi uzatmak için bu kodu kullanabilirsiniz.

function wp_autolink_featured_images( $html, $post_id, $post_image_id ) {
If (! is_singular()) { 
$html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_the_title( $post_id ) ) . '">' . $html . '</a>';
return $html;
} else {
return $html;
}
}
add_filter( 'post_thumbnail_html', 'wp_autolink_featured_images', 10, 3 );
  • Bazı temalarda öne çıkan görsel yazıya linkli olmuyor. Bunun çözümü ise yukarıdaki kodu kullanmak.

function modify_read_more_link() {
return '<a class="more-link" href="' . get_permalink() . '">Devamını Oku</a>';
}
add_filter( 'the_content_more_link', 'modify_read_more_link' );
  • Read More (Devamını Oku) yazı özeti metnini değiştirmek için kullanabileceğini kod yukarıdadır.

add_filter( 'avatar_defaults', 'wp_yeni_gravatar' );
function wp_yeni_gravatar ($avatar_defaults) {
$myavatar = 'https://site.com/wp-content/uploads/2020/01/avatar.png';
$avatar_defaults[$myavatar] = "Default Gravatar";
return $avatar_defaults;
}
  • Varsayılan olarak ayarlanan gizemli adam avatarını kendi yüklediğiniz resimle değiştirebilirsiniz. Yukarıdaki kodu functions.php dosyasına ekledikten sonra Admin Paneli >> Ayarlar >> Tartışma sekmesine giderek en altta çıkacak olan gravatar resmini seçip kaydedin.

Benzer Yazılar

Leave a Comment

Sunucularımız Almanya’da olduğundan yasaksız her türlü siteyi barındırabiliyoruz.İncele
+