lostyazilim
tr.link

Konu güncel Wordpress Menü Yapımı bir tülü beceremedim yardım edebilirmisiniz?

18 Mesajlar 3.295 Okunma
acebozum
tr.link

ASametYildirim ASametYildirim Saygı, Sevgi, Anlayış. Kullanıcı
  • Üyelik 16.06.2017
  • Yaş/Cinsiyet 25 / E
  • Meslek Bilgisayar mühendisi öğrencisi
  • Konum Ankara
  • Ad Soyad S** Y**
  • Mesajlar 3826
  • Beğeniler 2399 / 1874
  • Ticaret 97, (%100)
Konuyu çok önce yazdım ama sorunu tam olarak kavrayamadım yardımcı olursanız çok sevinirim hatta kodu yazarsanız daha iyi class yazamasa sıkıntı yaşıyorum.Neyse konumuza dönelim


Merhaba ben kendimi geliştirmek amacıyla bir wordpress teması yapmaya çalışıyorum fakat bazı yerlerde çok zorlanıyorum mesela üst tarfta bir menü oluşturmaya çalıştım fakat istediğim sonucu alamadım.
Menüler birbirine yapışık ve kötü urumda gözüküyorlar. Büyük ihtimalle css den kaynaklanıyor fakat wordpressin bu menü kodlarına div atıyamıyorum. orada geçerli olan link kodunun css değiştirdiğimde menu kısmen oluyor ama tema berbataşıyor bir türlü işin içinden çıkamadım yardım edebilirmisiniz?








Birde bu konuya göz atarsanız çok mutlu olurum.

https://wmaraci.com/forum/wordpress-sorunlari/wordpress-sonraki-sayfa-yapmi-yardim-461203.html
 

 

wmaraci
reklam

ASametYildirim ASametYildirim Saygı, Sevgi, Anlayış. Kullanıcı
  • Üyelik 16.06.2017
  • Yaş/Cinsiyet 25 / E
  • Meslek Bilgisayar mühendisi öğrencisi
  • Konum Ankara
  • Ad Soyad S** Y**
  • Mesajlar 3826
  • Beğeniler 2399 / 1874
  • Ticaret 97, (%100)
Sorun neyden kaynaklanıyor olabilir fikri olan varmıdır?
 

 

SefaCanDemir SefaCanDemir Front-End Developer Kullanıcı
  • Üyelik 10.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Front-End Developer
  • Konum Adana
  • Ad Soyad S** D**
  • Mesajlar 1345
  • Beğeniler 234 / 472
  • Ticaret 12, (%100)
Fonksiyon dosyasından sizin hazırladığınız menü classları ile wordpress'in ana menü classını değiştirmeniz gerekir.

Örnek:


add_filter( 'nav_menu_link_attributes', 'my_nav_item_class', 10, 4 );
function my_nav_menu_item_class($classes) {
$new_classes = array( 'nav-item dropdown' );
if ( in_array( 'current-menu-item', $classes ) ) {$new_classes[] = 'active';}
return $new_classes;
}

add_filter( 'nav_menu_link_attributes', 'my_nav_link_class', 10, 4 );

function my_nav_link_class($atts) {
$new_atts = array('class' => 'nav-link');
if (isset( $atts['href'])) {$new_atts['href'] = $atts['href'];}
return $new_atts;
}

function nav_a_change($menu){
$menu = preg_replace('/ class="nav-link"/','/ class="nav-link" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"/',$menu);
return $menu;
}
add_filter('wp_nav_menu','nav_a_change');

function change_submenu_class($menu) {
$menu = preg_replace('/ class="sub-menu"/','/class="dropdown-menu dropdown" aria-labelledby="dropdownMenu1"/',$menu);
return $menu;
}
add_filter('wp_nav_menu','change_submenu_class');


function my_nav()
{
wp_nav_menu(
array(
'theme_location' => 'header_menu',
'menu' => '',
'container' => false,
'container_class' => 'menu-{menu slug}-container',
'container_id' => '',
'menu_class' => 'menu',
'menu_id' => '',
'echo' => true,
'fallback_cb' => 'wp_page_menu',
'before' => '',
'after' => '',
'link_before' => '',
'link_after' => '',
'items_wrap' => '',
'depth' => 0,
'walker' => ''
)
);
}


Başka bir alternatif ise wordpress in menü classları ile css kodlamanızdır.
 

 

sefacandemir.com.tr

cgrclk cgrclk Fortis Fortuna Adiuvat Kullanıcı
  • Üyelik 18.11.2011
  • Yaş/Cinsiyet 35 / E
  • Meslek Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad B** Ç**
  • Mesajlar 3270
  • Beğeniler 1014 / 1983
  • Ticaret 53, (%100)
WordPress teması yapmaya başlamadan önce html ve css'e hakim olmalısınız. Menünün şeklini css ile düzenleyebilirsiniz.

https://www.w3schools.com/html/
https://www.w3schools.com/css/default.asp
 

 

wmaraci
wmaraci

ASametYildirim ASametYildirim Saygı, Sevgi, Anlayış. Kullanıcı
  • Üyelik 16.06.2017
  • Yaş/Cinsiyet 25 / E
  • Meslek Bilgisayar mühendisi öğrencisi
  • Konum Ankara
  • Ad Soyad S** Y**
  • Mesajlar 3826
  • Beğeniler 2399 / 1874
  • Ticaret 97, (%100)

SefaCanDemir adlı üyeden alıntı

Fonksiyon dosyasından sizin hazırladığınız menü classları ile wordpress'in ana menü classını değiştirmeniz gerekir.

Örnek:


add_filter( 'nav_menu_link_attributes', 'my_nav_item_class', 10, 4 );
function my_nav_menu_item_class($classes) {
$new_classes = array( 'nav-item dropdown' );
if ( in_array( 'current-menu-item', $classes ) ) {$new_classes[] = 'active';}
return $new_classes;
}

add_filter( 'nav_menu_link_attributes', 'my_nav_link_class', 10, 4 );

function my_nav_link_class($atts) {
$new_atts = array('class' => 'nav-link');
if (isset( $atts['href'])) {$new_atts['href'] = $atts['href'];}
return $new_atts;
}

function nav_a_change($menu){
$menu = preg_replace('/ class="nav-link"/','/ class="nav-link" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"/',$menu);
return $menu;
}
add_filter('wp_nav_menu','nav_a_change');

function change_submenu_class($menu) {
$menu = preg_replace('/ class="sub-menu"/','/class="dropdown-menu dropdown" aria-labelledby="dropdownMenu1"/',$menu);
return $menu;
}
add_filter('wp_nav_menu','change_submenu_class');


function my_nav()
{
wp_nav_menu(
array(
'theme_location' => 'header_menu',
'menu' => '',
'container' => false,
'container_class' => 'menu-{menu slug}-container',
'container_id' => '',
'menu_class' => 'menu',
'menu_id' => '',
'echo' => true,
'fallback_cb' => 'wp_page_menu',
'before' => '',
'after' => '',
'link_before' => '',
'link_after' => '',
'items_wrap' => '',
'depth' => 0,
'walker' => ''
)
);
}


Başka bir alternatif ise wordpress in menü classları ile css kodlamanızdır.

Çok teşekkür ederim en kısa sürede deneyeceğim sorunumu gayet iyi anlamış ve cevaplamışsınız.

Bir teşekkürde diğer arkadaşlar gibi üşenmemiş olmanızdan dolayı :)
SefaCanDemir

kişi bu mesajı beğendi.

ASametYildirim ASametYildirim Saygı, Sevgi, Anlayış. Kullanıcı
  • Üyelik 16.06.2017
  • Yaş/Cinsiyet 25 / E
  • Meslek Bilgisayar mühendisi öğrencisi
  • Konum Ankara
  • Ad Soyad S** Y**
  • Mesajlar 3826
  • Beğeniler 2399 / 1874
  • Ticaret 97, (%100)

cgrclk adlı üyeden alıntı

WordPress teması yapmaya başlamadan önce html ve css'e hakim olmalısınız. Menünün şeklini css ile düzenleyebilirsiniz.

https://www.w3schools.com/html/
https://www.w3schools.com/css/default.asp



Öncelikle cevap yazdığınız için teşekkür ederim fakat ben html css e çok aşırı profesyonel olmasa da baya hakimim. Buradaki asıl sorunum html css i ayarlayamamış olmam değil.Buradaki sorunum wordpress' in vermiş olduğu class yapısı içinde css ayarlayamamış olmam yani Html Css konusunda değil Wordpress'in class yapısında sorunum var.
 

 

cgrclk cgrclk Fortis Fortuna Adiuvat Kullanıcı
  • Üyelik 18.11.2011
  • Yaş/Cinsiyet 35 / E
  • Meslek Web Developer
  • Konum İstanbul Avrupa
  • Ad Soyad B** Ç**
  • Mesajlar 3270
  • Beğeniler 1014 / 1983
  • Ticaret 53, (%100)

ASametYildirim adlı üyeden alıntı

Öncelikle cevap yazdığınız için teşekkür ederim fakat ben html css e çok aşırı profesyonel olmasa da baya hakimim. Buradaki asıl sorunum html css i ayarlayamamış olmam değil.Buradaki sorunum wordpress' in vermiş olduğu class yapısı içinde css ayarlayamamış olmam yani Html Css konusunda değil Wordpress'in class yapısında sorunum var.


WordPress in class yapısında nasıl bir sorun var acaba anlamadım?

Bunları mı istiyorsunuz:

ul.navbar-nav {/*ul için css kodlarını buraya yazabilirsiniz.*/}
ul.navbar-nav li {/*tüm li'ler için css kodlarını buraya yazabilirsiniz.*/}
ul.navbar-nav li a {/*tüm a etiketleri için css kodlarını buraya yazabilirsiniz.*/}
ul.navbar-nav li.active a {/*aktif olan a için css kodlarını buraya yazabilirsiniz.*/}
ul.navbar-nav li a:hover {}
 

 

asinan asinan ... Kullanıcı
  • Üyelik 15.10.2014
  • Yaş/Cinsiyet 35 / E
  • Meslek Web
  • Konum Kayseri
  • Ad Soyad S** A**
  • Mesajlar 153
  • Beğeniler 14 / 51
  • Ticaret 0, (%0)
1. Başlangıç olarak yanlış wordpress fonksiyonunu kullanıyorsunuz. Siz sadece sayfaları listelemeye çalışıyorsunuz (wp_list_page()) fonksiyonu ile. Daha sonradan menüyü düzenlemek için kodlarla tekrar uğraşmak zorunda kalacaksınız.

2. wp_list_pages yerine kullanmanız gereken kod wp_nav_menu(). https://developer.wordpress.org/reference/functions/wp_nav_menu/ sayfasını inceleyin ve google da örneklere bakın sorununuzu kökten çözeceksiniz.

3. wp_nav_menu ile herhangi bir css/html yapısına uygun menü üretebilirsiniz.

4. Bu şekilde ürettiğiniz menülere admin panelde istediğiniz sayfayı, kategoriyi, linki ekleyebilecek hale gelirsiniz.

5. Yeni olduğunuzu varsayarak wp_nav_menu() fonksiyonu değişkenleri ile biraz oynayın. ul li a gibi etiketleri bu fonksiyon düzenler. Biraz olayı kaptıktan sonra "menu walker" olayını araştırın. Arkadaşların verdikleri örnekleri anlamanız için basitten başlayın. Wordpress te menü oluşturma, düzenlemenin yolu bu şekilde başlar. En baştan doğru fonksiyonu kullanın.
mimarcan

kişi bu mesajı beğendi.

ASametYildirim ASametYildirim Saygı, Sevgi, Anlayış. Kullanıcı
  • Üyelik 16.06.2017
  • Yaş/Cinsiyet 25 / E
  • Meslek Bilgisayar mühendisi öğrencisi
  • Konum Ankara
  • Ad Soyad S** Y**
  • Mesajlar 3826
  • Beğeniler 2399 / 1874
  • Ticaret 97, (%100)

cgrclk adlı üyeden alıntı

WordPress in class yapısında nasıl bir sorun var acaba anlamadım?

Bunları mı istiyorsunuz:

ul.navbar-nav {/*ul için css kodlarını buraya yazabilirsiniz.*/}
ul.navbar-nav li {/*tüm li'ler için css kodlarını buraya yazabilirsiniz.*/}
ul.navbar-nav li a {/*tüm a etiketleri için css kodlarını buraya yazabilirsiniz.*/}
ul.navbar-nav li.active a {/*aktif olan a için css kodlarını buraya yazabilirsiniz.*/}
ul.navbar-nav li a:hover {}

Kastettiğim bu değildi arkadaşlar iyi bir şekilde açıklamış teşekkür ederim ilginizden dolayı
 

 

ASametYildirim ASametYildirim Saygı, Sevgi, Anlayış. Kullanıcı
  • Üyelik 16.06.2017
  • Yaş/Cinsiyet 25 / E
  • Meslek Bilgisayar mühendisi öğrencisi
  • Konum Ankara
  • Ad Soyad S** Y**
  • Mesajlar 3826
  • Beğeniler 2399 / 1874
  • Ticaret 97, (%100)

asinan adlı üyeden alıntı

1. Başlangıç olarak yanlış wordpress fonksiyonunu kullanıyorsunuz. Siz sadece sayfaları listelemeye çalışıyorsunuz (wp_list_page()) fonksiyonu ile. Daha sonradan menüyü düzenlemek için kodlarla tekrar uğraşmak zorunda kalacaksınız.

2. wp_list_pages yerine kullanmanız gereken kod wp_nav_menu(). https://developer.wordpress.org/reference/functions/wp_nav_menu/ sayfasını inceleyin ve google da örneklere bakın sorununuzu kökten çözeceksiniz.

3. wp_nav_menu ile herhangi bir css/html yapısına uygun menü üretebilirsiniz.

4. Bu şekilde ürettiğiniz menülere admin panelde istediğiniz sayfayı, kategoriyi, linki ekleyebilecek hale gelirsiniz.

5. Yeni olduğunuzu varsayarak wp_nav_menu() fonksiyonu değişkenleri ile biraz oynayın. ul li a gibi etiketleri bu fonksiyon düzenler. Biraz olayı kaptıktan sonra "menu walker" olayını araştırın. Arkadaşların verdikleri örnekleri anlamanız için basitten başlayın. Wordpress te menü oluşturma, düzenlemenin yolu bu şekilde başlar. En baştan doğru fonksiyonu kullanın.

Hocam ellerinize o kıymetli vaktinize sağlık kodlar arasında kaybolmuştum sayenizde çok iyi kavradım çok teşekkür ederim.
Hayır duamı aldınız tekrardan teşekkür ederim.
mimarcan asinan

kişi bu mesajı beğendi.

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al