Sık karşılaşılan WordPress hataları ve çözümleri
Woocommerce olsun ya da olmasın, hangi temayı kullanırsanız kullanın, WordPress eklentileri, WordPress temaları hep birlikte hareket ettiğinde çılgın sorunlar ortaya çıkartabilir. Özellikle açık kaynak kodlu bir alt yapı sistemi olan WordPress CMS sisteminin, milyonlarca kullanıcı ile birlikte üretici/geliştirici Dünya çapında bir heyet ve binlerce alternatif uygulamayla hareket ettiğini düşünürsek; sorun çıkartmaması zaten pek mümkün görünmüyor.
Bu yazımızda WordPress kullanıcısı olarak standart ve sürekli karşılaşabileceğiniz sıklıkla canınızı sıkan WordPress hata bildirimleri ve WordPress hata çözümlerinden birkaçını ele almaya çalışacağız. Umuyoruz ki burada kısa vadelli çözüm planları belirtilen sorunların çözümlerine ortak olur, bizlere yorumlarınızla eşlik edebilirsiniz.
WordPress bu yazıya dosya eklemeye yetkiniz yok hatası çözümü
Çok ilginç bir şekilde ingilizcesi “You don’t have permission to attach files to this post.” yani “bu yazıya dosya eklemeye yetkiniz yok hatası” sorunu için arşivlemek ve sonrasında hatırlamak amacıyla kod paylaşımı yapıyoruz.
WordPress dosya işlem yetkisi hatasına müdahale edebilmek için wp-admin/includes/ ajax-action.php dosyası içerisinden silinecek satırlar aşağıdadır.
if ( isset( $_REQUEST['post_id'] ) ) {
$post_id = $_REQUEST['post_id'];
if ( ! current_user_can( 'edit_post', $post_id ) ) {
echo wp_json_encode( array(
'success' => false,
'data' => array(
'message' => __( "You don't have permission to attach files to this post." ),
'filename' => $_FILES['async-upload']['name'],
)
) );
wp_die();
}
}
WordPress “Üzgünüm, bu dosya türüne güvenlik nedeniyle izin verilmiyor.” hatası ve çözümü
Bir süre wordpress ile uğraştıysanız ve sınırları zorlamaya başlıyorsanız mutlaka karşılaşacağınız hatalardan biridir.
Sorunun çözümü için wordpress çekirdeğine müdahale etmeden temanız functions.php dosyasına ekleme yaparak izin isteyeceğiz.
Ben örneği mp3 formatı için veriyorum, gerisi sizde; bu listeden bakabilirsiniz.
WordPress dosya türü hatası çözümünde eklenecek kod:
add_filter('upload_mimes','external_mimes');
function external_mimes($mimes){
return array_merge($mimes,array (
'mp3' => 'audio/mpeg'
));
}
Dahası yok mu diye soruyorsanız, aşağıda yer alan uzun listeyi takip edebilirsiniz.
WordPress dosya türü hatası çözümünde alternatif olarak kullanılabilecek mime tip tanımlamaları için kodlara göz atınız.
array(
// Image formats
'jpg|jpeg|jpe' => 'image/jpeg',
'gif' => 'image/gif',
'png' => 'image/png',
'bmp' => 'image/bmp',
'tif|tiff' => 'image/tiff',
'ico' => 'image/x-icon',
// Video formats
'asf|asx' => 'video/x-ms-asf',
'wmv' => 'video/x-ms-wmv',
'wmx' => 'video/x-ms-wmx',
'wm' => 'video/x-ms-wm',
'avi' => 'video/avi',
'divx' => 'video/divx',
'flv' => 'video/x-flv',
'mov|qt' => 'video/quicktime',
'mpeg|mpg|mpe' => 'video/mpeg',
'mp4|m4v' => 'video/mp4',
'ogv' => 'video/ogg',
'webm' => 'video/webm',
'mkv' => 'video/x-matroska',
// Text formats
'txt|asc|c|cc|h' => 'text/plain',
'csv' => 'text/csv',
'tsv' => 'text/tab-separated-values',
'ics' => 'text/calendar',
'rtx' => 'text/richtext',
'css' => 'text/css',
'htm|html' => 'text/html',
// Audio formats
'mp3|m4a|m4b' => 'audio/mpeg',
'ra|ram' => 'audio/x-realaudio',
'wav' => 'audio/wav',
'ogg|oga' => 'audio/ogg',
'mid|midi' => 'audio/midi',
'wma' => 'audio/x-ms-wma',
'wax' => 'audio/x-ms-wax',
'mka' => 'audio/x-matroska',
// Misc application formats
'rtf' => 'application/rtf',
'js' => 'application/jаvascript',
'pdf' => 'application/pdf',
'swf' => 'application/x-shockwave-flash',
'class' => 'application/java',
'tar' => 'application/x-tar',
'zip' => 'application/zip',
'gz|gzip' => 'application/x-gzip',
'rar' => 'application/rar',
'7z' => 'application/x-7z-compressed',
'exe' => 'application/x-msdownload',
// MS Office formats
'doc' => 'application/msword',
'pot|pps|ppt' => 'application/vnd.ms-powerpoint',
'wri' => 'application/vnd.ms-write',
'xla|xls|xlt|xlw' => 'application/vnd.ms-excel',
'mdb' => 'application/vnd.ms-access',
'mpp' => 'application/vnd.ms-project',
'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
'docm' => 'application/vnd.ms-word.document.macroEnabled.12',
'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',
'dotm' => 'application/vnd.ms-word.template.macroEnabled.12',
'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
'xlsm' => 'application/vnd.ms-excel.sheet.macroEnabled.12',
'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroEnabled.12',
'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',
'xltm' => 'application/vnd.ms-excel.template.macroEnabled.12',
'xlam' => 'application/vnd.ms-excel.addin.macroEnabled.12',
'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
'pptm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',
'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',
'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12',
'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template',
'potm' => 'application/vnd.ms-powerpoint.template.macroEnabled.12',
'ppam' => 'application/vnd.ms-powerpoint.addin.macroEnabled.12',
'sldx' => 'application/vnd.openxmlformats-officedocument.presentationml.slide',
'sldm' => 'application/vnd.ms-powerpoint.slide.macroEnabled.12',
'onetoc|onetoc2|onetmp|onepkg' => 'application/onenote',
// OpenOffice formats
'odt' => 'application/vnd.oasis.opendocument.text',
'odp' => 'application/vnd.oasis.opendocument.presentation',
'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
'odg' => 'application/vnd.oasis.opendocument.graphics',
'odc' => 'application/vnd.oasis.opendocument.chart',
'odb' => 'application/vnd.oasis.opendocument.database',
'odf' => 'application/vnd.oasis.opendocument.formula',
// WordPerfect formats
'wp|wpd' => 'application/wordperfect',
// iWork formats
'key' => 'application/vnd.apple.keynote',
'numbers' => 'application/vnd.apple.numbers',
'pages' => 'application/vnd.apple.pages',
)
WordPress admin (yönetici) barı kayboldu hatası
Sorun inanılmaz basit ve can sıkıcı anlarda siz fark etmeden ortaya çıkıyor.
Bir bakıyorsunuz yukarda admin bar olan boşluk mevcut, giriş yapmışsınız ancak barın kendisi yerine bir boşluk görünüyor.
Bu durumda tema dosyalarınızdaki footer.php içerisinde <?php wp_footer(); ?> satırının olup olmadığını kontrol etmelisiniz.
<?php wp_footer(); ?>
Bu satır temanızın footer.php içerisinde </body> tag öncesinde yer almasıyla çözülebilir. Örnek footer.php bitişi şöyle olmalı:
</div><!-- /page -->
<?php wp_footer(); ?>
</body>
</html>
SQL ile WordPress sitedeki tüm medya dosyalarını ve resimleri nasıl toplu halde sileriz?
Binlerce türetilmiş dosyanız var ve temiz wordpress kurulumuna üşeniyorsunuz.
Tek SQL koduyla tüm medya dosyalarını silmek için aşağıdaki kodu kullanmanız yeterlidir.
Phpmyadmin panelinden SQL sorgusu olarak kullanmanız dileğiyle.
DELETE FROM wp_postmeta
WHERE post_id IN
(
SELECT id
FROM wp_posts
WHERE post_type = 'attachment'
)
;
# Second:
DELETE FROM wp_posts WHERE post_type = 'attachment'
wp_posts ve wp_postmeta keylerini kendi sitenizdeki prefixe göre düzenlemeyi unutmazsınız değil mi? 🙂
WordPress yorumlarından site linkini kaldırma
Basit ve kısa bir şekilde arşivde durması için ekliyorum, faydası olursa ne mutlu bizlere.
function crunchify_disable_comment_url($fields) {
unset($fields['url']);
return $fields;
}
add_filter('comment_form_default_fields','crunchify_disable_comment_url');
functions.php dosyasına aşağıdaki kodu eklemeniz yeterlidir.
veya comments.php dosyasından aşağıdaki kısmı silin:
'<p class="comment-form-url"><label for="url">' .
__vce( 'comment_website' ) . '</label>' .
'<input id="url" name="url" type="text" value="' . esc_attr( $commenter['comment_author_url'] ) .
'" size="30" /></p>'
Ayrıca düzgün bir görünüm için aşağıdaki kodu stlye.css dosyasına ekleyin.
.comment-form-author, .comment-form-email {
width:100%;
}
WordPress yavaşlık problemi ve Woocommerce ile daha yavaş olması sorunu
Woocommerce kullanıcısı olarak binlerce ürün yelpazeniz var ise, maalesef kasan sisteminiz için bir çok eklenti yükleyip de Cache sistemleri ile çare bulmaya çalışırsınız.
Ancak Woocommerce tüm dünyaya hitap eden bir sistem olduğu için, gerekli gereksiz bir çok fonksiyonu eş zamanlı mecburen çalıştıran bir sistemdir. Bu yükü hafifletmek için gereksiz gördüğünüz fonksiyon dağılımını hafifletebilirsiniz, bu sayede kullanmadığınız özellikler sistem tarafından çağırılmaz ve size hız/zaman kazandırır.
Aşağıda vermiş olduğum kodu temanızın functions.php dosyasına eklemeniz yeterli, sonrasında dilediğiniz satırları silebilir veya başkalarını da siz ekleyebilirsiniz. Bu sayede gözle görünür bir hız kazanacağınızdan eminim!
add_action( 'wp_enqueue_scripts', 'child_manage_woocommerce_styles', 99 );
function child_manage_woocommerce_styles() {
//remove generator meta tag
remove_action( 'wp_head', array( $GLOBALS['woocommerce'], 'generator' ) );
//first check that woo exists to prevent fatal errors
if ( function_exists( 'is_woocommerce' ) ) {
//dequeue scripts and styles
if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() ) {
wp_dequeue_style( 'woocommerce_frontend_styles' );
wp_dequeue_style( 'woocommerce_fancybox_styles' );
wp_dequeue_style( 'woocommerce_chosen_styles' );
wp_dequeue_style( 'woocommerce_prettyPhoto_css' );
wp_dequeue_script( 'wc_price_slider' );
wp_dequeue_script( 'wc-single-product' );
wp_dequeue_script( 'wc-add-to-cart' );
wp_dequeue_script( 'wc-cart-fragments' );
wp_dequeue_script( 'wc-checkout' );
wp_dequeue_script( 'wc-add-to-cart-variation' );
wp_dequeue_script( 'wc-single-product' );
wp_dequeue_script( 'wc-cart' );
wp_dequeue_script( 'wc-chosen' );
wp_dequeue_script( 'woocommerce' );
wp_dequeue_script( 'prettyPhoto' );
wp_dequeue_script( 'prettyPhoto-init' );
wp_dequeue_script( 'jquery-blockui' );
wp_dequeue_script( 'jquery-placeholder' );
wp_dequeue_script( 'fancybox' );
wp_dequeue_script( 'jqueryui' );
}
}
}