Son Eklenen Dersler

Kopyalarken stilleri dogru sekilde alma

Paragraflar arasina br eklenmis ise bunu direkt kopyalamak asagidaki gibi bir soruna yol acar. Biz satirlari birlestirerek bu sorunu cozecegiz

CSS class vs Heading

Başlıkları genellikle header attributeler ile kullanıyoruz h1,h2,h3, etc.

Eğer başlık sitenin diğer başlıkları gibi ise onun için custom CSS yazmıyoruz, doğru heading’i girip sitenin stillerinden değerleri almasını bekliyoruz.

Sitede headingleri tek bir yerden kontrol etmek için bu şekilde yapıyoruz. Ve sitenin geri kalanı ile uyumlu olsun diye bu şekilde kullanmalıyız.

Tema editleme işi yaptığımız bir yerde bunlar için CSS yazmak yerine müşterinin mevcut değerlerini kullanabiliriz html’lere atayarak.

Yanlış Kullanım

Doğru Kullanım

h2’ye bir class verip ona sadece center değerini vermeliyiz. Diğer özellikler tema stili ile aynı olacak.

Studio Rules

  • Always use Company name on comments
  • Always use company e-mail on fields and use company name for name fields
  • Use wf prefix

10up Engineering best practises

https://10up.github.io/Engineering-Best-Practices/php/

10up Engineering best practises

WordPress Query

PHP Standartlari

https://phptherightway.com/

Css yakalama

Css seçerken pluginin verdiği otomatik isimlendirmelere custom css yazmak tehlikeli olabilir. Plugin bunları ilerde değiştirebilir, başka bir sayfaya yerleştirdiğimizde bunlar değişebilir veya başka bir yerde aynı özelliği kullanmamız gerekebilir. O yüzden eğer mümkünse o bölüme özel custom bir class verip pluginin otomatik classlarına güvenmemeliyiz.

Yanlış kullanım
doğru kullanım

sign out olup test yapmalı

Cache siteyi etkiliyor olabilir.

Wp Debug mod açılmalı

Custom CSS kullanma

Örneğin bir tabloyu ele alalım. Amacımız bu tabloyu değiştirmek ise tablo’yu aşağıdaki kod ile değiştirebiliriz ama bütün sitedeki tablolar etkilenir bundan.

table{}

Eğer elementor veya Divi tabloya bir class eklediyse şu şekilde tüm elementor tablolarını değiştirebiliriz

.elementor-table.table{}

Ama amacımız sadece belli bir bölgedeki tabloyu değiştirmek ise custom class bölümünden kendi class’ımızı ekleyip sadece ona işlem yapıyoruz.

.wf-custom-table{}

WordPress, tema ve pluginlerin kendi classlarina tam olarak guvenmemeliyiz, veya baska yerleri de etkileeycegini bilerek is yapmaliyiz. Degisikligi yaptiktan sonra baska sayfalari etkileyip etkilemedigini kontrol etmeliyiz.

Contruct’da tanımlanmış add action’u kaldırmak

Aşağıdaki PHP kütüphanesini kodlarınızın arasına yerleştirin.


/*
Plugin Name: WP Filters Extras
Plugin URI: http://www.beapi.fr
Description: Add 2 methods for WP Filter API
Version: 1.0.2
Author: BeAPI
Author URI: http://www.beapi.fr
Copyright 2012-2017 Amaury Balmer - amaury@beapi.fr
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2, as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/

/**
 * Allow to remove method for an hook when, it's a class method used and class don't have global for instanciation !
 */
function remove_filters_with_method_name( $hook_name = '', $method_name = '', $priority = 0 ) {
	global $wp_filter;

	// Take only filters on right hook name and priority
	if ( ! isset( $wp_filter[ $hook_name ][ $priority ] ) || ! is_array( $wp_filter[ $hook_name ][ $priority ] ) ) {
		return false;
	}

	// Loop on filters registered
	foreach ( (array) $wp_filter[ $hook_name ][ $priority ] as $unique_id => $filter_array ) {
		// Test if filter is an array ! (always for class/method)
		if ( isset( $filter_array['function'] ) && is_array( $filter_array['function'] ) ) {
			// Test if object is a class and method is equal to param !
			if ( is_object( $filter_array['function'][0] ) && get_class( $filter_array['function'][0] ) && $filter_array['function'][1] == $method_name ) {
				// Test for WordPress >= 4.7 WP_Hook class (https://make.wordpress.org/core/2016/09/08/wp_hook-next-generation-actions-and-filters/)
				if ( is_a( $wp_filter[ $hook_name ], 'WP_Hook' ) ) {
					unset( $wp_filter[ $hook_name ]->callbacks[ $priority ][ $unique_id ] );
				} else {
					unset( $wp_filter[ $hook_name ][ $priority ][ $unique_id ] );
				}
			}
		}

	}

	return false;
}

/**
 * Allow to remove method for an hook when, it's a class method used and class don't have variable, but you know the class name :)
 */
function remove_filters_for_anonymous_class( $hook_name = '', $class_name = '', $method_name = '', $priority = 0 ) {
	global $wp_filter;

	// Take only filters on right hook name and priority
	if ( ! isset( $wp_filter[ $hook_name ][ $priority ] ) || ! is_array( $wp_filter[ $hook_name ][ $priority ] ) ) {
		return false;
	}

	// Loop on filters registered
	foreach ( (array) $wp_filter[ $hook_name ][ $priority ] as $unique_id => $filter_array ) {
		// Test if filter is an array ! (always for class/method)
		if ( isset( $filter_array['function'] ) && is_array( $filter_array['function'] ) ) {
			// Test if object is a class, class and method is equal to param !
			if ( is_object( $filter_array['function'][0] ) && get_class( $filter_array['function'][0] ) && get_class( $filter_array['function'][0] ) == $class_name && $filter_array['function'][1] == $method_name ) {
				// Test for WordPress >= 4.7 WP_Hook class (https://make.wordpress.org/core/2016/09/08/wp_hook-next-generation-actions-and-filters/)
				if ( is_a( $wp_filter[ $hook_name ], 'WP_Hook' ) ) {
					unset( $wp_filter[ $hook_name ]->callbacks[ $priority ][ $unique_id ] );
				} else {
					unset( $wp_filter[ $hook_name ][ $priority ][ $unique_id ] );
				}
			}
		}

	}

	return false;
}

Spesifik bir class’ı kaldırmak istiyorsanız aşağıdaki fonksiyonu kullanın


mepr-login-form-before-submit: Action Adi
MpMathCaptcha: Kaldiracagimiz fonskiyonun Class'inin adi 
meprmath_show_field: Kaldiracagimiz fonksiyon adi

remove_filters_for_anonymous_class( 'mepr-login-form-before-submit', 'MpMathCaptcha', 'meprmath_show_field', 10 );

Kaynak

Ana temadaki fonksiyonu etkisiz kılma

Bu makale’de bir sürü yol anlatılmış

https://webdesign.tutsplus.com/tutorials/a-guide-to-overriding-parent-theme-functions-in-your-child-theme–cms-22623

Function Priority çok önemli.

Takip edilecek kişiler

https://www.youtube.com/c/BrianDean/videos

https://www.youtube.com/channel/UCl-Zrl0QhF66lu1aGXaTbfw

Yazıya başlamadan önce

Keyword analizi için

  • Google otomatik tamamlama
  • Google Related Search
  • Youtube otomatik tamamlama
  • Amazon.com otomatik tamamlama
  • Belki pinterest.com
  • Mangools Keyword Finder aracı

Elementor

Elementor’da teker teker tüm elementleri değiştirmek yerine globaller kullanılmalı.

WooCommerce 102

WooCommerce gelişmelerini takip etmek

Plugin isimlendirme

Eğer birisi plugine baktığında ne iş yaptığınız anlayabiliyorsa o iyi bir isimlendirmedir.

Örneği WooCommerce e extra tablar ekleyecekseniz ve single sayfasında bazı düzenlemeler yapacaksanız şöyle bir isim fena olmaz

“Company Name” Custom Code – WooCommerce Tabs & Single Layout Tweaks

WooCommerce Geliştirme 101

WooCommerce template değiştirme en son seçenek olmalı, çünkü template outdated oluyor bazen sadece bir satır kod için. Hooklar kullanılmalı – mümkün olduğu kadar

Plugin framework için skyverge’nin frameworku kullanilabilir: https://github.com/skyverge/wc-plugin-framework

Hookları guzelce görmek için: https://wordpress.org/plugins/simply-show-hooks/

Hangi templatelerin yüklendiğini görmek için güzel bir plugin:  WooCommerce Template Hints

Test için WooCommerce Dev Helper  kullanılabilir. Neler içeriyor:

“Bogus” demo ödeme sistemi testi yapabilirsiniz.

Query Monitor ile sitenin execution zamanlarını, assetlerin yüklerini öğrenebilirsiniz.

Genel Hatalar

Aşağıdaki gibi kazalara yol açmamak için Yoast SEO eklentisinde Google’da başlığın nasıl göründüğüne bakılmalı

« » page 1 / 4