Salam. Belə bir problem çıxıb qarşıma. WordPress də səhifə yaradıram.Parent child səhifələr. Məsələn
Parnt page
-Child page 1
-Child page 2
Burda child page lər problemsiz işləyir. Ama Parent page yə daxil olanda ana səhifəni açır. Heç bir error qayıtmır nədə 404 səhifə deyil. Page template yaradıram verirəm həmən parent page ə yenə xeyri yoxdu default page.php ilə də işləmir. Umumiyyətlə page.php yə və ya page template seçmişəmsə o page template ə gəlib çıxmır. Ancaq bu hal permalink ilə olanda olur. yəni permalinki dəyişib id ilə qoyanda işləyir açır səhifəni. Elə ki permalinki post title seçirəm belə olur. Təksə page post type də. default post və ya digər yaratdığım custom post type lar işləyir. Əlavə də query yə müdaxilə eləyən heç bir kod və ya plugin yoxdu. butun pluginləri deaktiv edirem functions da nə əlavə kodlar varsa silib permalink strukturu update edirəm ama düzəlmir. Təşəkkerlər öncədən
Verilmiş cavablar və yazılan şərhlər (12 cavab var)
0
Salam. Parent page-in slug-ı nədir? Onu dəyişməklə yoxlamısınızmı? Hər hansı tamamilə fərqli sluq qoymaqla.
Ola bilər ki o slug başqa bir şey ilə konflikt verir.
Problem template yönəltmədən daha əvvəlki layerdə baş verir deyə page.php-lik məsələ deyil.
0
Beli elbette. 1 dene sehifede deyil bu problem hem de. butun parent page lerde var. slug da tamamile ayri ayridi hansi ki basqa 2 ci eyni slug olma ehtimali yoxdu. men yoxlamaq ucun functions.php de current query ni print eleyirem ki selecti gorum orda ama muqayise eleyirem parent page ile child page nin querylerini ferqlilik var. ama tam tuta bilmirem sohbeti ki nededi. indi isleyen normal acilan page ile hemen problem olan page queryleri ni ataram bura.
0
taxonomy-lərin ierarxiyasında vəziyyət necədir bəs? sayt.com/cat_parent və sayt.com/cat_parent/cat_child hər ikisi işləyir normal?
0
Her iki page ye daxil olan zaman functions.php de pre_get_posts hook u print eledim. uygun olaraq elave edirem asagida her iki page in query kodlarini.
Parent page (problem yaranan)
Child page (normal ishleyir)
child query de postu tapir query de de gorunduyu kimi. ama parent de ise gorunur ki hec bir post yoxdu. xususen de subhelendiyim kodun ele lap bashinda olan year ile bagi olan yerdi . o year orda niye olmalidi?
Qeyd: Mende year adli taxonomy yaratmisdim. ama o taxonomy ni functionsdan silirem ve unregister_taxonomy(‘year’) eleyib permalinki update eleyib yoxlamisam. yene eyi sheydi.
0
Yox, year taxonomy məsələsi deyil, problem permalinkdədir.
Permalink səhifəsinin screenshotunu atın baxaq please.
0
Buyurun
Screenshot
0
Deməli məsləhət görərdim ki,
1. Bayaqdan theme barədə nəsə deməmişik. Theme-i 2017 ilə filanla əvəz edib yoxlamısınızmı? yəqin ki hə. elə isə keçək 2-yə.
2. bir boş sadə wp installında da eyni iki parent səhifələri yaradasınız, ki orada normal işləyəcək sözsüz ki. Sonra da hər iki saytda eyni səhifələrdə bu funksiyanı çap edib fərqləri tapmaq:
Əminəm ki hansısa ciddi fərq tapılacaq. Tapılarsa wp_options-dan yerli dibli silin rewrite data-nı, yenidən generate olsun qoy.
Hansısa rare conflict baş verib deyə belə alınıb bəlli ki. Siz parent page URL yığanda rewrite rule %year%/%month%/%day% formatını gözləyir nədənsə, year-i tapır , qalanları tapmır və.s. Halbuki bu ümumiyyətlə səhv gözləntidir, ki ilişib qalıb rewrite data strukturunda. Sonuc barədə yazarsız yuxarıdakı steplər bitəndə.
0
Bu 1 ci qeyd etdiyinizi anlamadim tam olaraq.
1. Bayaqdan theme barədə nəsə deməmişik. Theme-i 2017 ilə filanla əvəz edib yoxlamısınızmı? yəqin ki hə. elə isə keçək 20yə.
Theme i 2017 ile evez etmek deyende neyi nezerde tutursunuz?
men qeyd etdiyiniz funksiyani initde olani elave eledim run eledim. bele bir struktur cixdi. onlarin icinde page de olmalidi ? ama yoxdu burda. ve temiz sildim wp_options dan yeniden wp ozu generate eledi ama yene duzelmedi.
sizin yazdiginiz hook un print elediyi neticeni elave eledim asagida
yy result
0
2017 – wp-nin default theme-nin adıdır. Yəni yazmışdız ki pluginləri deaktiv elədim yoxladım, amma theme barədə yazmamışdız, ona görə soruşdum ki, bəs theme-i wordpress-in öz default theme-i ilə əvəz edib yoxladınızmı? (səbəbin theme-dən qaynaqlanmadığına əmin olmaq üçün)
0
aha. 2017 ni aktiv eledim. problem duzeldi. parent de child de normal isledi. yeniden oz theme i aktiv eledim ve problem qayitdi. demek temadadi problem. ama harda onu bilmedim. cunku kodlarda qeribe olan bir sey yoxdur. her zaman istifade elediyim kodlardi.
1
Aha deməli səbəbkar tapıldı. Qaldı həll etmək.
Problem daha asan yerdə imiş, mən düşündüm temanı dəyişmisiz əminlik üçün, ona görə daha çətin yerlərdən yapışdım.
Problemin bir çox səbəbi olar bilər, ağlıma gələnləri deyim:
– pre_get_posts filterində yanlış query->set və ya hansısa dəyişəni unset etmə filan var.
-theme-in hansısa funksiyasında add_rewrite_rule var ki yanlışlıq oradadır.
-theme-in hansısa funksiyasında register_post_type və ya register_taxonomy işlədilib, və yanlışlıq orada işlədilən parametrlərin adında və ya strukturundadır. (bunu da adicə comment-uncomment ilə tapmaq olar. Adı çəkdiyim nələr varsa sizin theme-də sadəcə müvəqqəti və bir – bir commentləyin, permalinki update edin və bir də yoxlayın. Əminəm ki tapılacaq. Nəticəni deyərsiz
0
Commente aldim butun ne varsa bir bir uncomment eledim geldi taxonomilerde ilishdi )
ele problem year adli taxanomy de imis. cox guman ki wordpress in oz year i ile conflict verir. commente aldim sirf hemen taxonomy ni duzeldi problem.
Maraqlisi budur ki bayaq men sirf hemen taxonomy ni unregister elemisdim. ama problem duzelmemisdi.
Tesekkur edirem Elvin, vaxt ayirib problemi tapmaqda yaxindan komek etdiyin ucun. cox sagol
Sual verin
Cavab verin