لم يعد بإمكاني فرض النشر باستخدام المحرر الكلاسيكي؟

أنا لا أعتمد ميزات “بلوك” الجديدة في ووردبريس وسألتزم بـ “كلاسيك”.

لاحظت للتو أن إضافة WP Discourse قد تم تحديثها لإعداد أستخدمه، فرض النشر:

لا يتم تطبيق هذا الإعداد إلا عند استخدام محرر “بلوك” لنشر المشاركات.

يا للأسف، ولكن حيث توجد إرادة، توجد طريقة. هل واجه أي شخص آخر هذه المشكلة وابتكر حلاً مخصصًا، شيئًا لإضافته إلى ملف functions.php القديم في السمة ربما؟

شكرًا

3 إعجابات

مرحباً @oopsyscoops، نعم، هناك بعض القيود على دعم كلا المحررين. لا يزال بإمكانك استخدام إعداد “النشر التلقائي” مع المحرر الكلاسيكي. هل هناك مشكلة في استخدامه في حالتك؟

إعجابَين (2)

النشر التلقائي سيكون جيدًا إذا كانت هذه مدونة لمستخدم واحد.

ولكن، كمدونة متعددة المؤلفين، كان فرض النشر مفيدًا جدًا.

قبل أن أبحث في سجل التغييرات، هل تعرف من الذاكرة ما هو إصدار WP Discourse الذي نقل هذه الميزة إلى محرر الكتل وأزالها من المحرر الكلاسيكي؟

أنا لا أقترح أنني سأعود إلى هذا الإصدار (والذي سيكون فكرة سيئة للغاية)، ولكن ربما يمكنني البحث في الكود وتصحيح الحل القديم مرة أخرى من خلال السمة الخاصة بي.

آمل ألا يتخلى WP Discourse تمامًا عن الكلاسيكي في النهاية. لا يزال هناك أكثر من 6 ملايين (يمكن التحقق منها على الأقل، ولكن من المحتمل أن يكون أكثر) موقع ويب يستخدم الكلاسيكي، وأنا متأكد من أن الملايين من الأشخاص سيستمرون في استخدام ميزات الكلاسيكي إلى أجل غير مسمى.

أنوي ذلك وأعتقد أن ميزات الكلاسيكي ستصبح مدعومة رسميًا (واختياريًا) مرة أخرى في WP (دون الاعتماد على الإضافات) بعد أن يصبح الطلب واضحًا، عندما يدركون أنه حتى بعد سنوات، يفضل بعض الأشخاص ببساطة الكلاسيكي ولن يتبنوا ميزات الكتل الجديدة.

إعجابَين (2)

أتفهم وجهة نظرك، ولكن قد يكون هذا مجرد حالة تدريب للمؤلفين ومعرفة ما إذا كان سيسبب مشاكل في الممارسة العملية؟ أنت تعرف مؤلفيك أفضل مني، لكنني لن أستبعد ذلك كخيار.

لا يزال المحرر الكلاسيكي مدعومًا بالتأكيد.

أشك في ذلك، لكنني كنت مخطئًا من قبل (ثلاث مرات على الأقل على حد علمي :wink: )

سيكون طلب السحب موضع ترحيب إذا كان بإمكانك معالجة المشكلات التي كان @simon يسعى لمعالجتها عند إزالته (انظر على سبيل المثال). ربما يمكنه شرح المزيد.

3 إعجابات

هذا ببساطة غير عملي. لقد كنت محررًا لأكثر من عقد من الزمان، ودربت وأدرت العشرات من الكتاب من جميع مستويات المهارة، من المناهضين للتكنولوجيا تمامًا إلى المبرمجين. لقد كان لدي عدد قليل فقط من الكتاب الجيدين الذين كانوا أيضًا على دراية بالتكنولوجيا ومنظمين بما يكفي لاتباع جميع الإرشادات التي وضعتها لهم (دون صعوبة).

يمكنني أن أكون محررًا أكثر صرامة (أنا بالفعل مهووس بالكمالية قدر الإمكان)، ولكن بعد ذلك سأفقد أصواتًا قيمة. هناك الكثير من الكتاب الرائعين الذين ساهموا على مر السنين، والذين كانوا بالكاد يعرفون كيفية تشغيل جهاز كمبيوتر. الكثير منهم لديهم منحنى تعلم في مجرد تعلم كيفية النشر باستخدام ووردبريس، ويتمنون لو أنهم يستطيعون فقط إرسال مستند وورد إلي عبر البريد الإلكتروني بدلاً من ذلك. :squinting_face_with_tongue:

ولذلك، أقوم بالتدريب بأفضل ما لدي، ولكن في نهاية اليوم، الأتمتة هي السلامة العقلية.

على أي حال، أود أن أتعلم المزيد عن سبب صعوبة صيانة هذه الميزة لكل من Classic و Block، إذا كان بإمكاني الحصول على ملخص موجز، يا @simon؟ على سبيل المثال، لدي شريك في أحد المشاريع يصر على السماح لي باستخدام محرر Block (بينما يستخدم بقية الفريق محرر Classic)، لذلك لدي بعض الخبرة في مزج كليهما، وأفهم كيف يمكن أن يصبح ذلك مؤلمًا.

شكرًا

3 إعجابات

نعم، سيكون من الرائع تفعيل خيار النشر الإجباري للعمل مع كلا المحررين. لقد مر عامان منذ أن نظرت في هذا الأمر للمرة الأخيرة. لست متأكدًا من سبب المشكلة، لكنني أشك في أنه شيء يمكن حله.

3 إعجابات

حسنًا، نحن ننظر إلى هذا الملف:

/lib/discourse-publish.php

وبمقارنة 2.1.2 و 2.1.3، هذه هي الاختلافات الوحيدة (فيما يتعلق بالنشر القسري):

if ( ( 0 === $force_publish_max_age ) || $post_time >= $min_date ) {

تم تغييره إلى:

if ( ( ( 0 === $force_publish_max_age ) || $post_time >= $min_date ) && $is_rest_request ) {

وتمت إضافة هذه الأسطر الإضافية:

// لا يمكن دعم إعداد النشر القسري بسهولة مع كل من محرر الكتل والمحرر الكلاسيكي. يتم استخدام المتغير $is_rest_request
// للسماح فقط باحترام إعداد النشر القسري للمنشورات المنشورة باستخدام محرر الكتل.
$is_rest_request = defined( 'REST_REQUEST' ) && REST_REQUEST;

إذا كان عليّ التخمين، ربما كانت الطريقة القديمة تسبب أخطاء في محرر الكتل؟ لذا، هل يمكن أن يكون الأمر بسيطًا مثل استخدام شرط؟

قد تعمل is_block_editor أو use_block_editor_for_post:

if ( is_block_editor() ) {
	// افعل ذلك بالطريقة الجديدة
} else {
	// افعل ذلك بالطريقة القديمة
}
إعجاب واحد (1)

هل ترغب في تجربتها وتقديم طلب سحب (PR)؟

إعجاب واحد (1)

إذا كنت تتحدث إلي، فأنا بالتأكيد لن أذهب متهورًا حتى يتذكر @simon سبب إزالته في المقام الأول (أو يتتبع خطواته لمعرفة ما كان عليه مرة أخرى). قد يكون كابوسًا غير معروف يتعلق بقلب ووردبريس، أو ديسكورس، أو WP Discourse وليس مجرد مشكلة تقتصر على هذه الملفات القليلة والأسطر القليلة من التعليمات البرمجية.