WordPress

WordPress Shortcode’u Yorum Alanında Çalıştırma

Eğer içeriklerinizde kendi yazdığınız ya da bulduğunuz bir Shortcode kullanıyorsanız bu Shortcode büyük ihtimal ile WordPress‘in yorum alanında çalışmayacaktır. Bunun nedeni ise Shortcode’ların içerik odaklı olarak tasarlanmış olması ve yorum alanı için devre dışı bırakılmış olmasıdır. Sadece sonradan eklenen Shortcode’lar için değil yüklediğiniz eklentiler ile gelen veya kullandığınız temada bulunan çeşitli Shortcode’larda genellikle (içerisinde bir yorum alanı kodu yok ise) yorum alanında çalışmayacaktır.

Wordpress 5.0 ile gelen Gutenberg yazı editörünün yarattığı imkanlar ile klasik Shortcode mantığı yerini Gutenberg editörün block ekleme özelliği alıyor. Böylelikle artık daha az bilgi sahibi olan WordPress kullanıcıları da Shortcode ile uğraşmaksızın görsel düzenleyici üzerinden işlem yapabilecek.

Shortcode’ları yorum alanınında çalıştırmak için ise bir filtre atamanız yeterli olacaktır. Aşağıda yazılı olan php kodlarını temanızın functions.php dosyasında uygun bir yere eklemeniz yeterli olacaktır.

add_filter( 'comment_text', 'do_shortcode' );

Kodları <?php ile ?> arasına eklediğinizden emin oldun. En sona ve en başa eklediğinizde <?php’den önce yada ?>’den sonra eklemiş olacağınız için kodlar çalışmayacak, hatta sitenin açılmamasına sebep olacaktır

WordPress Gutenberg’den Klasik/Eski Editöre Geçme

Önceki yazımızda WordPress 5.0 ile kalıcı hale gelen Gutenberg editörünün genişliğini nasıl arttırıp azaltabileceğinizi ve dışarıdan çağrılan sitil dosyası ile Gutenberg editör sayfasını nasıl düzenleyebileceğini anlatmıştık. Bu yazımda ise Gutenberg editöründen tamamen nasıl kurtulabileceğinizi ve eski editöre nasıl geçiş yapabileceğini anlatıyoruz, üstelik eski bir WordPress sürümü yüklemenize gerek kalmayacak.

WordPress bizlere 5.0 güncellemesinden önce beta test amacı ile Gutenberg editörünü bir eklenti ile sunmuştu, dileyenler Gutenberg editörü kalıcı hale gelmeden önce bu eklentiyi kurarak Gutenberg editörünü önceden test edebiliyorlardı. Gelen 5.0 güncellemesi ile de bu durum tam tersine döndü. Şimdi ise Classic Editor eklentisini yükleyerek eski editöre geri dönmüş oluyoruz.

Şahsen biz yeniliklere açık olduğumuz için Gutenberg ile yolumuza devam etmeyi tercih ediyoruz. Bir çok yenilik ile bizlerle birlikte olan Gutenberg editöründen yinede memnun kalmadıysanız normal eklenti yükleme mantığında hareket ederek Türkçe ismi ile Klasik düzenleyici’yi aşağıdaki bağlantıdan yükleyebilir ve klasik görünüme dönüş yapabilirsiniz.

[linkbox tur=”wordpress” boyut=”235 Bayt” gelistirici=”WordPress Contributors” fiyat=”Ücretsiz” link=”https://tr.wordpress.org/plugins/classic-editor/” ]Classic Editor – Klasik düzenleyici[/linkbox]

WordPress Gutenberg Editör Genişliğini Arttırma/Azaltma

Geleceği önceden kesinleşen ancak WordPress’in 5.0 güncellemesine kadar eklenti ile kullanılabilen Gutenberg editörü 5.0 güncellemesi ile hayatımıza tamamen girdi. Blogger‘lar tarafından beğenilen ancak Webmastar‘lar tarafından pek beğenilmeyen Gutenberg’den kurtulmanın yolu olduğu gibi düzenlemenin de çeşitli yolları var. Eğer klasik editörü vazgeçemeyecek kadar seviyorsanız 5.0 güncellemesinden önce nasıl Gutenberg’i eklenti ile deneyebiliyorsak, klasik görünümü de eklenti ile geri getirebiliyoruz.

Bu yazımızın konusu ise Gutenberg editörünü düzenlemek. Her ne kadar konuda sadece genişliğini nasıl değiştireceğinizi anlatsak da ekleyeceğiniz CSS dosyasına yazdığınız tüm CSS kodları Gutenberg editöründe aktif olacak ve sayfayı şekillendirmemize imkan tanıyacak. Öncelikle yapmanız gereken temanızın bulunduğu dizine girerek burada bulunan functions.php dosyasına aşağıdaki kodları eklemek.

/**
Gutenberg block editor style
Lanet olasica Gutenberg editor genisligini duzeltir
*/
function gutenberg_editor_styles() {
    wp_enqueue_style( 'add-editor-styles', get_theme_file_uri( '/gutenberg-style.css' ), false, '1.0', 'all' );
}

add_action( 'enqueue_block_editor_assets', 'gutenberg_editor_styles' );

Artık functions.php dosyasına eklediğimiz kod durduğu sürece Gutenberg editörüne gutenberg-style.css adında bir sitil dosyası çağrılacak. tabi olmayan bir dosyayı çağırmak istemeyiz, bu nedenle 2. aşama olarak temamızın içerisine bir gutenberg-style.css dosyası oluşturuyoruz ve son olarak bu dosyanın içerisine aşağıdaki kodları eklediğimizde Gutenberg editörümüzün genişliğini de değiştirmiş oluyoruz.

/* Main column width */
.wp-block {max-width: 870px;}
/* Width of "wide" blocks */
.wp-block[data-align="wide"] {max-width: 1080px;}
/* Width of "full-wide" blocks */
.wp-block[data-align="full"] {max-width: none;}

Önemli not: Örnek kodda biz işlem yaptığımız sitenin içerik genişliğini baz alarak 870px değerini girdik, sizde 870px yerine istediğiniz değeri girerek genişliği arttırabileceğiniz gibi azalta da bilirsiniz. Ayrıca px yerine % değerini de kullanarak duyarlı bir genişlik belirleyebileceğinizi unutmayın.

Apache “The requested operation has failed!” Hatasının Çözümü

Sistemime attığım bir formatın daha ardından yine “The requested operation has failed!” hatasını aldım. Bu hatayı birkaç kez daha almıştım ve sürekli yenilenen bir durum olduğu içinde arşivime eklemeyi uygun gördüm. Kısaca bahsetmek gerekir ise “The requested operation has failed!” hatasının nedeni, kurduğumuz Apache sunucusunun farklı bir program ile aynı portu kullanmasından kaynaklanıyor.

The requested operation has failed! Hatasının Nedeni

Bu hata sadece format atıldığında değil, herhangi bir zaman, yeni bir program yüklediğinizde ve bu program sisteminizde Apache Sunucusundan önce çalıştığında ortaya çıkıyor. Yani bir nevi Port çakışması. Bu çakışmanın ise ana nedenlerinden biri hemen hemen hepimizin bilgisayarında bulunan Skype’dır. Bu çakışmayı engellemek ise oldukça kolay. Hatadan kurtulmak için Skype’nin yada Apache sunucusunun varsayılan port değerlerini değiştirmemiz gerekiyor. Yazının devamında Apache sunucusunun Port ayarını değiştirmeyi anlatıyorum.

The requested operation has failed! Hatasının Çözümü

Öncelikle yapmamız gereken programın kurulu olduğu gizine girmek ve ..\Apache2.2\conf\ klasörüne girmek. Bende program tam olarak “C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf” yolunda kurulu. Burada httpd.conf isminde bir dosya görüyoruz. Bende 47. satırda yer alan Listen 80 ibaresi programın kullandığı portu temsil ediyor. (Apache http server genellikle 80 portunu kullanır) 80 değerini değiştirdiğinizde ve kaydettiğinizde ise artık Apache yeni belirtiğiniz portu kullanmaya başlar ve böylelikle çakışma yaşanmaz.

WordPress 4.6 Güncelleme Sorununun Çözümü

Codex’e yazdığım son yazının üzerinden tamı tamına 8 ay geçmiş durumda ve bu yazı ile bu duruma bir son veriyorum. Bu gün gelen yeni WordPress güncellemesi ile yeni bir sorun ile karşılaştım. Daha önceki güncellemeler de oluyor muydu bilmiyorum ancak, ilgili güncelleme butonu düzgün çalışmıyordu. Bende tamda bu sebepten ötürü bu içeriği oluşturmaya karar verdim. Zira aynı hata ile karşılaşan WordPress kullanıcıları sorunu çözemez ise bu yazıya ulaşarak WordPress 4.6 güncelleme sorunununu çözebilir.

Sorun şu şekilde gelişiyor, bir güncelleme geldiğinde admin panelinde beliren WordPress 4.6 hazır! Lütfen hemen güncelleyin. mesajındaki Lütfen hemen güncelleyin. bağlantısına tıklandığında gidilecek URL hatalı oluşuyor. Aslında adres satırına bakıldığında hatayı kolaylıkla anlamak mümkün. Zira güncelleme sayfasının URL’si https://codex.dincmedya.com.tr/wp-admin/update-core.php şeklindedir. Ancak hata nedeni ile https://codex.dincmedya.com.tr/wp-admin/ adresi silinmiyor ve tırnak işaretleri ile https://codex.dincmedya.com.tr/wp-admin/”http:/codex.dincmedya.com.tr/wp-admin/update-core.php” şeklinde hatalı bir URL ortaya çıkıyor. Burada yapmanız gereken ilk tırnak işaretine kadar olan wp-admin yolunu tırnak işareti ile birlikte silmeniz ve sondaki tırnak işaretini de silmenizdir. Yada sitenizin ana sayfasındayken adres satırına wp-admin/update-core.php eklemeniz, WordPress’in güncelleme sayfasını açmanız için yeterli olacaktır. Daha sonra gerekli yedekleri alarak güncelleme işlemini başlatabilirsiniz. Bir sorun olur ise yorum olarak sorun, elimden geldiğince yardımcı olmaya çalışırım.

Not: Ayrıca admin panelinden Başlat>Güncellemeler yolunu da kullanabilirsiniz.

WordPress kısa adres edin butonu ekleme

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.