د “Edit with Page Builder Sandwich” تڼۍ نه ښکاري

د “د Page Builder Sandwich سره سمول” تڼۍ نه ښکاري

که تاسو د خپل سایټ په فرنټ اینډ (بهرنۍ بڼه) کې د “د Page Builder Sandwich سره سمول” تڼۍ نشئ لیدلی، دلته یو څو حل لارې دي چې تاسو یې هڅه کولی شئ:

ډاډ ترلاسه کړئ چې ستاسو د اډمین پټه (Admin Bar) ښکاري

د PB Sandwich لپاره د سمون تڼۍ ستاسو د سایټ په فرنټ اینډ کې په اډمین بار کې شتون لري. ډاډ ترلاسه کړئ چې اډمین بار د لیدو وړ دی؛ د دې لپاره خپل اډمین برخې ته لاړ شئ او Users > Your Profile ته لاړ شئ او بیا وګورئ چې د Show Toolbar when viewing site بکس نښه شوی وي.

e5960e581e file w9uN2EeCjm

ډاډ ترلاسه کړئ چې تاسو په یوه پاڼه، پوسټ یا کسٹم پوسټ ټایپ (Custom Post Type) کې یاست

یوازې پوسټونه، پاڼې او دودیز پوسټ ډولونه په فرنټ اینډ کې د سمون وړ دي. تاسو یوازې هغه مواد په فرنټ اینډ کې سمولی شئ که چیرې تاسو وتوانېږئ هغه د ورډپریس د محتوا ایډیټر له لارې په بېک اینډ کې سم کړئ. ستاسو د سایټ نورې برخې – د بېلګې په توګه د بلاګ پوسټونو د اصلي پاڼې لړۍ، د ټولو بلاګ پوسټونو لړۍ، د کټګورۍ لړۍ، ۴۰۴ پاڼې، د لټون پاڼې – ډاینامیکې پاڼې دي چې د ورډپریس لخوا د هغې بڼې (Theme) سره چې تاسو یې کاروئ رامینځته شوي او د PB Sandwich په کارولو سره نشي سمېدلی.

د دې لپاره یوه نښه چې آیا اوسنۍ ویب پاڼه د سمون وړ ده که نه دا ده چې آیا تاسو په خپل اډمین بار کې “Edit Post” یا “Edit Page” لیدلی شئ که نه.

ډاډ ترلاسه کړئ چې ستاسو محتوا ستاسو د بڼې (Theme) یا کوم پلګ ان لخوا په ډاینامیک ډول نه ده تولید شوې

که ستاسو پاڼه/پوسټ د کومې بڼې یا پلګ ان لخوا په ډاینامیک ډول جوړیږي، نو بیا به د Page Builder Sandwich (او ډېر احتمال په نورو پاڼه جوړوونکو کې هم) د سمون وړ نه وي. که تاسو ګورئ چې ستاسو د محتوا ایډیټر په بېک اینډ کې خالي دی، مګر په فرنټ اینډ کې ستاسو پاڼه له محتوا ډکه ده، نو دا یوه ښه نښه ده چې ستاسو پاڼه په ډاینامیک ډول تولید شوې ده.

د دې د کتنې لپاره چې آیا ستاسو پاڼه په ډاینامیک ډول جوړه شوې، د خپلې ویب پاڼې سرچینه کوډ وګورئ (ښی کلیک وکړئ او بیا “View Page Source” غوره کړئ). د “pbs-main-wrapper” متن ولټوئ، که تاسو دا متن هېڅ ځای ونه ګورئ، نو ستاسو پاڼه په ډاینامیک ډول تولید شوې ده.

دلته د ډاینامیک ډول تولید شوي محتوا څو بېلګې دي:

  • ستاسو پاڼه له څو ویجټونو څخه جوړه شوې چې تاسو یې د Customizer په کارولو سره اضافه/سموئ،
  • ستاسو پاڼه د یوې “یوې پاڼې” (one page) بڼې له لارې د بېلابېلو پاڼو د یوځای کولو څخه جوړه شوې وي (په دې حالت کې تاسو بیا هم انفرادي پاڼې سمولی شئ، مګر ګډه شوې پاڼه نه)، یا
  • ستاسو پاڼه له وروستیو بلاګ پوسټونو څخه جوړه شوې وي.

لومړی د یو څه محتوا اضافه کولو هڅه وکړئ

داسې قضیې هم وې چې کله به محتوا خالي وه نو بڼې (Theme) به محتوا هېڅ نه ښودله، او دې کار PBS ته په غلطۍ دا فکر ورکاوه چې پاڼه د سمون وړ نه ده. د دې د معلومولو لپاره چې آیا دا قضیه ده که نه، خپله پاڼه/پوسټ په بېک اینډ ایډیټر کې سم کړئ، هڅه وکړئ چې په خپله محتوا کې کوم متن (د بېلګې په توګه “سلام”) اضافه کړئ، او بیا له هغه ځایه د “Edit with Page Builder Sandwich” تڼۍ باندې کلیک وکړئ.

د دې مشورې لپاره له ماتیاس هیلکویست (Mathias Hellquist) څخه مننه!

ډاډ ترلاسه کړئ چې ستاسو پاڼه د بل پاڼه جوړوونکي (Page Builder) تر ولکې لاندې نه ده

ځینې پاڼه جوړوونکي تاسو دې ته مجبوره کوي چې یا د ورډپریس د محتوا ډیفالټ ایډیټر وکاروئ، یا د پاڼه جوړوونکي خپل ایډیټر وکاروئ. که تاسو دمخه خپله پاڼه د بل پاڼه جوړوونکي په کارولو سره سم کړې وي، ممکن هغه پاڼه جوړوونکي لا دمخه محتوا خپله کړې وي، او نور د محتوا هکونه/فلټرونه نور نشي کار کولی. له همدې امله، کله ناکله Page Builder Sandwich نشي موندلی چې ستاسو محتوا چیرته ده او د سمون تڼۍ نه ښیې ځکه چې د سمون لپاره هیڅ شی نه وي موندل شوی.

د دې حل لپاره، یوازې د هغې ځانګړې پاڼې/پوسټ لپاره د هغه پاڼه جوړوونکي له نه کارولو څخه ډډه وکړئ، او پرځای یې د ورډپریس د ډیفالټ محتوا ایډیټر کارول غوره کړئ.

ډاډ ترلاسه کړئ چې تاسو په پاڼه کې د سمون اجازه لرئ

که تاسو نشئ کولی پاڼه سم کړئ نو د سمون تڼۍ به نه ښکاري. د بېلګې په توګه، که تاسو مدیر (Editor) یا ونډه اخیستونکی (Contributor) یاست او تاسو کولی شئ په سایټ کې د بلاګ پوسټونه او مقالې ولیکئ، دا لازمي نه ده چې تاسو د اصلي مخ پاڼه یا د اړیکې پاڼه هم سمولی شئ. که تاسو په خپل اډمین بار کې د “Edit Post” تڼۍ لیدلی شئ، نو تاسو باید وتوانېږئ چې دا د PB Sandwich په کارولو سره هم سم کړئ. که اړتیا لرئ له خپل سایټ مدیر څخه د سمون د واک غوښتنه وکړئ.

ممکن د جاواسکرېپټ (Javascript) کومه تېروتنه وي چې PB Sandwich له کار کولو څخه منع کوي

PB Sandwich ډېر په جاواسکرېپټ تکیه کوي. که د جاواسکرېپټ تېروتنې شتون ولري چې ستاسو په سایټ کې له نورو سکرېپټونو څخه راځي، دا ممکن د PB Sandwich د کار مخه ونیسي. د دې د کتلو لپاره، تاسو کولی شئ په خپل براوزر کې د ډویلپر کنسول پرانیزئ ترڅو تېروتنې وګورئ. 

زه د دې لپاره د کروم (Chrome) کارولو سپارښتنه کوم. په پاڼه کې په هر ځای ښی کلیک وکړئ، او بیا د “Inspect” اختیار باندې کلیک وکړئ. دا به ستاسو د براوزر په پای کې یوه نوې برخه پرانیزي، د “console” ټوپ باندې کلیک وکړئ. که تاسو تېروتنې لرئ، تاسو باید داسې یو څه وګورئ:

4acce143a3 file

که تاسو کومه تېروتنه ومومئ، تاسو کولی شئ د سکرېپټ په نوم باندې د کلیک کولو یا د موږک په ځړولو سره دا سرپټی هم ترلاسه کړئ چې دا له کوم ځای څخه راځي:

abb5a87c67 file ITjVcdhZQU

دا تېروتنې ښايي ستاسو د بڼې یا نورو هغو پلګ انونو څخه راشي چې تاسو یې لرئ. د دې تېروتنو حل کول کولی شي PB Sandwich بیا فعال کړي.

که ستاسو بڼه یا یو پلګ ان د جاواسکرېپټ د تېروتنې لامل کیږي، مهرباني وکړئ موږ ته د  [email protected] بریښنالیک له لارې خبر راکړئ او موږ به د ستونزې د حل لپاره خپله پوره هڅه وکړو 🙂

که تاسو CloudFlare کاروئ، ډاډ ترلاسه کړئ چې Rocket Loader بند شوی دی

کلاوډ فلیر (CloudFlare) یو پراخه کارول کېدونکی وړیا DNS CDN دی. دا خورا ښه دی، مګر PBS دا مهال له ستونزو سره مخ کیږي کله چې د راکټ لوډر (Rocket Loader) فیچر ته راځي. راکټ لوډر د جاواسکرېپټ فایلونو د پورته کېدو وخت ښه کوي، مګر دا د PBS د سکرېپټونو تړاو او د غوښتنې ترتیب خرابوي. که تاسو Rocket Loader چالان کړی وي، د Page Builder Sandwich لپاره د سمون تڼۍ به نه ښکاري (او په کنسول کې هېڅ د جاواسکرېپټ تېروتنه هم نه ښکاري).

د دې د کتلو لپاره چې آیا ستاسو سایټ د CloudFlare راکټ لوډر کاروي، د خپلې ویب پاڼې سرچینه کوډ وګورئ (ښی کلیک وکړئ او بیا “View Page Source” غوره کړئ)، او بیا د “rocketscript” متن ولټوئ، که تاسو دا متن ومومئ نو تاسو Rocket Loader چالان کړی دی.

e4dff5b8c0 file tPnWvP09FF

د دې د بندولو په اړه د بشپړو لارښوونو لپاره  د CloudFlare او Rocket Loader مطابقت اړوند مقاله ولولئ.


ما دا ټول ترسره کړل خو د سمون تڼۍ لا هم هلته نشته!

ښه، په دې وخت کې، که پورته حلونو څخه هېڅ یوه هم کار ونکړ، نو دا به د دې وخت وي چې تشریح کړو ولې نه ښکاري او په دې اړه څه باید وشي. چمتو یاست؟ راځئ چې پیل وکړو!

د دې لامل “ولې” (په غیر تخنیکي ژبه کې)

د Page Builder Sandwich اړتیا لري چې پوه شي ستاسو د پاڼې/پوسټ محتوا چیرته موقعیت لري. موږ دا کار هغه مهال په اورېدو سره کوو کله چې ورډپریس د پوسټ محتوا پورته (لوډ) کوي او هغه سیمه “نښه کوي”، ترڅو کله چې هرڅه لوډ شي موږ وکولی شو ومومو چې ښه توکي چیرته دي.

کله ناکله، ځینې پلګ انونه دا پروسه له پامه غورځوي یا تر پښو لاندې کوي او پرځای یې هڅه کوي محتوا په خپله طریقه پورته کړي. ځینې وختونه دا سمه وي، مګر په ځینو حالاتو کې، په ځانګړي توګه کله چې د اصلي پوسټ محتوا پورته کول په پام کې وي، دا ممکن د ځینو پلګ انونو د کار مخه ونیسي. کله چې بل پلګ ان دا د پورته کولو بهیر له پامه وغورځوي، هغه “نښې” چې موږ کړي دي ممکن ورکې شي، او کله چې د ایډیټر د فعالیدو وخت راشي، نو دا نور نشي موندلی چې ستاسو محتوا چیرته ده. نو، د سمون تڼۍ نه ښکاري! تاسو دا هم موندلی شئ چې ځینې پلګ انونه چې ستاسو پاڼې ته محتوا زیاتوي، لکه ځینې ټولنیز شریکولو پلګ انونه هم ممکن د همدې لامل له امله کار ودروي.

د دې لامل “ولې” (په تخنیکي ژبه کې)

د Page Builder Sandwich اړتیا لري  پوه شي چې ستاسو د پاڼې/پوسټ محتوا چیرته موقعیت لري، او دا د the_content په فلټر کې په ځړېدو (hooking) سره ترسره کوي او ستاسو د اصلي محتوا شاوخوا یو ریپر (wrapper) اضافه کوي. ځینې پلګ انونه ممکن دا له پامه وغورځوي او پرځای یې محتوا د وروستي پړاو په اوږدو کې د get_the_content() فنکشن سره بدله کړي. له بده مرغه، د دې کار ترسره کول د ټولو the_content فلټرونو د رابللو مخه نیسي او له همدې امله د PBS ریپر ورک کیږي. د هر بل پلګ ان بدلونونه به هم ورک شي.

په اصل کې د get_the_content() په کارولو کې کومه ستونزه نشته، مګر که چیرې دا په اصلي پوښتنې (main query) کې او د عادي the_content() غوښتنې پرځای د واحد پوسټ ټیمپلیټ پاڼې دننه وکارول شي چیرې چې د the_content ټول فلټرونه چلیږي، ممکن منفي اغیزې ولري.

په دې اړه څه باید وشي

تاسو کولی شئ وګورئ چې آیا د Page Builder Sandwich “نښې” شتون نلري په فرنټ اینډ کې ستاسو پاڼې/پوسټ ته په تللو او د پاڼې سرچینې کوډ لیدلو سره په داسې حال کې چې ننوتلي (logged in) یاست. د کوډونو په دې ګډوډۍ کې وګورئ چې آیا دا سټرینګ موندلی شئ:

data-name="main-content"

که تاسو دا ومومئ، نو ممکن یوازې په کوم ځای کې د جاواسکرېپټ ستونزه وي، نو یوازې موږ ته هغه بڼه (Theme) او پلګ انونه راولېږئ چې تاسو یې کاروئ او موږ یې سمولی شو.

مګر که تاسو یې ونه مومئ، نو دا کیدی شي یوازې دا وي چې ستاسو بڼه (یا یو پلګ ان، مګر ډېر احتمال دا بڼه ده که چیرې دا پاڼه یا د بلاګ پوسټ وي) د پوسټ محتوا سره یو څه کوي. که دا قضیه وي، نو تاسو باید د بڼې جوړونکي سره اړیکه ونیسئ او هغوی ته د ستونزې په اړه خبر ورکړئ! تاسو کولی شئ هغوی ته پورته تخنیکي “ولې” توضیح هم وښایئ، دا کولی شي د تېروتنې له منځه وړلو (debugging) کې مرسته وکړي 🙂

که تاسو په PHP کې په کار کولو باوري احساس کوئ، تاسو کولی شئ د هغه ټیمپلیټ فایل په موندلو سره د هغې سمولو هڅه وکړئ چې د پوسټ محتوا سمبالوي. یو حل چې موږ ورسره مخ شوي یو د دې د غوښتنو بدلول دي:

$content = get_the_content();

په دې سره:

ob_start();
the_content();
$content = ob_get_clean();<br>

یادونه: د PHP متغیر ښایي ستاسو په کوډ کې توپیر ولري، مګر مفکوره باید ورته وي. که دا کار وکړي، نو دا به هم غوره وي که تاسو د دې پرځای چې دا بدلون په مستقیم ډول په خپلې بڼې (Theme) کې پلي کړئ، یو چائلډ ټیم (Child Theme) جوړ کړئ. د بدلون له امله ممکن جانبي عوارض هم شتون ولري، نو دا به غوره وي چې د دې په اړه د خپلې بڼې له جوړونکي سره مشوره وکړئ.