WordPress kısa adres edin butonu ekleme

W

Geçtiğimiz günlerde Wordpress için yeni bir güncelleme daha geldi. Caz müzisyeni Clifford Brown adıyla karşımıza çıkan Worpdress 4.4 güncellemesi bir çok yeniliğin yanı sıra sorunları da beraberinde getirdi. Bir çok kişi forumlarda temalarının yeni sürümde özelleştirilemediğini yada özelleştirme konusunda sorun yaşadıklarını belirtirken, benim dikkatimi ise bolca kullandığım Kısa adres edin butonu çekti.

Ne hikmetse artık bir yazı yayınladığımızda kalıcı bağlantılardan arındırılmış kısa adresi almamız için ortada bir buton yoktu. Bende biraz sayada gezinip butonun yer değiştirmiş olabileceğini düşündüm ancak buton yer değiştirmemiş, tamamen kaldırılmıştı. Bunun üzerine Webmaster Forumu R10‘da konu açtım ve sağ olsun sun truser sorunumun çözümü için konuyu cevapladı. Ve bende sorunun çözülmesi için bir rehber hazırlamak istedim. Sorunu yaşayan arkadaşlarda burada anlatılanları uygulayarak WordPress sitelerine tekrar Kısa adres edin butonu ekleyebilirler.

Öncelikle yapmanız gereken FTP programı ile sitenizin ana dizinine bağlanmanız ve /public_html/wp-admin/ klasörüne giriş yapmanız. Daha sonra düzenlemeniz gereken edit-form-advanced.php dosyasının bir yedeğini almalısınız. Yeni sürümde silinen kodları dosyaya eklemek için dosyayı uygun bir program ile açın ve aşağıda yazan kodları bulun.

Fires before the permalink field in the edit form.

Daha sonra aradığınız yazının bulunduğu aşağıdaki kodların bütününü seçip en alttakiler ile değiştiriyorsunuz.

/**
 * Fires before the permalink field in the edit form.
 *
 * @since 4.1.0
 *
 * @param WP_Post $post Post object.
 */
do_action( 'edit_form_before_permalink', $post );
?>
<div class="inside">
<?php
if ( $viewable ) :
$sample_permalink_html = $post_type_object->public ? get_sample_permalink_html($post->ID) : '';

// As of 4.4, the Get Shortlink button is hidden by default.
if ( has_filter( 'pre_get_shortlink' ) || has_filter( 'get_shortlink' ) ) {
	$shortlink = wp_get_shortlink($post->ID, 'post');

	if ( !empty( $shortlink ) && $shortlink !== $permalink && $permalink !== home_url('?page_id=' . $post->ID) ) {
    	$sample_permalink_html .= '<input id="shortlink" type="hidden" value="' . esc_attr($shortlink) . '" /><a href="#" class="button button-small" onclick="prompt(&#39;URL:&#39;, jQuery(\'#shortlink\').val()); return false;">' . __('Get Shortlink') . '</a>';
	}
}

if ( $post_type_object->public && ! ( 'pending' == get_post_status( $post ) && !current_user_can( $post_type_object->cap->publish_posts ) ) ) {
	$has_sample_permalink = $sample_permalink_html && 'auto-draft' != $post->post_status;
?>
	<div id="edit-slug-box" class="hide-if-no-js">
	<?php
		if ( $has_sample_permalink )
			echo $sample_permalink_html;
	?>
	</div>
<?php
}
endif;
?>
</div>
<?php
wp_nonce_field( 'samplepermalink', 'samplepermalinknonce', false );
?>
</div><!-- /titlediv -->
<?php
}

Üstekilerin yerine aşağıdakiler gelecek. (üstteki kodlar wordpress sürümünüze bağlı olarak yazanlardan farklı olabilir, yinede başladığı yer ile bittiği yere dikkat ederek aşağıdakiler ile değiştirmelisiniz)

/**
 * Fires before the permalink field in the edit form.
 *
 * @since 4.1.0
 *
 * @param WP_Post $post Post object.
 */
do_action( 'edit_form_before_permalink', $post );
?>
<div class="inside">
<?php
if ( $viewable ) :
$sample_permalink_html = $post_type_object->public ? get_sample_permalink_html($post->ID) : '';

// As of 4.4, the Get Shortlink button is hidden by default.
	$shortlink = wp_get_shortlink($post->ID, 'post');

	if ( !empty( $shortlink ) && $shortlink !== $permalink && $permalink !== home_url('?page_id=' . $post->ID) ) {
    	$sample_permalink_html .= '<input id="shortlink" type="hidden" value="' . esc_attr($shortlink) . '" /><a href="#" class="button button-small" onclick="prompt(&#39;URL:&#39;, jQuery(\'#shortlink\').val()); return false;">' . __('Get Shortlink') . '</a>';
	}

if ( $post_type_object->public && ! ( 'pending' == get_post_status( $post ) && !current_user_can( $post_type_object->cap->publish_posts ) ) ) {
	$has_sample_permalink = $sample_permalink_html && 'auto-draft' != $post->post_status;
?>
	<div id="edit-slug-box" class="hide-if-no-js">
	<?php
		if ( $has_sample_permalink )
			echo $sample_permalink_html;
	?>
	</div>
<?php
}
endif;
?>
</div>
<?php
wp_nonce_field( 'samplepermalink', 'samplepermalinknonce', false );
?>
</div><!-- /titlediv -->
<?php
}

Evet yukarıda anlatılanları doğru bir şekilde yaptıysanız kısa adres edin butonu artık olması gereken yerde olacaktır. Ayrıca belirteyim eğer WordPress’e daha sonra güncelleme gelirde bu güncelleme edit-form-advanced.php dosyasını kapsarsa güncelleme ile dosya değişeceği için buton yine kaydolacaktır, ancak anlatılanları tekrar yaparak butonu tekrar ekleyebilirsiniz. Eğer anlatılanları yapamadıysanız yada sorun yaşıyorsanız aşağıdan yorum bırakarak benimle iletişime geçebilirsiniz. Sizin için çözüm üretmeye çalışırım.

Yazar hakkında

Murat Dinç

Bozuktus.com, sistemgereksinimleri.net, klavyer.com sitelerinin kurucusu, muratdinc.com'da kişisel blog yazarı, codex.dincmedya.com.tr coder, seo.muratdinc.com'da SEO uzmanı.

1 yorum

  • Bu link kısaltma olayını hep merak etmişimdir, yazı eklerken bir textbox alanı var oraya elle yazılıyor sanıyordum şimdi görünce incelemek istedim gayet güzel ve kolay kullanımı olduğunu fark ettim. WordPressdeki kısakodlar sayesinde bu tarz şeylerin yapımı oldukça kolaylaşıyor wordpressi bu yüzden çok seviyorum özelleştirilebiliyor herşeyi heryerine birşey eklenilebiliyor ve en çok sevdiğim olayı kaynağı çok olması.