এই প্রশ্নটি বিভিন্ন পতাকার নীচে বহুবার উত্থাপিত হয়েছে, তবে আমি এই সমস্যার চূড়ান্ত সমাধানের জন্য একটি ইউনিফাইড থ্রেড উপস্থাপন করতে চাই।
ওয়ার্ডপ্রেসে, ডিফল্টরূপে, টিনিএমসিইতে এইচটিএমএল এবং ভিজ্যুয়াল সম্পাদকগুলির মধ্যে পিছনে পিছনে স্যুইচ করার সময়, নির্দিষ্ট ট্যাগগুলি সামগ্রী থেকে সরিয়ে নেওয়া হয় এবং অন্যান্য অদ্ভুত কার্যকারিতা দেখা দেয়। আরও দক্ষ এইচটিএমএল কোড লেখার জন্য দুটি পরিচিত কাজের ক্ষেত্রগুলি হ'ল ফিল্টার ব্যবহার করে ডাব্লুপি_আউটো_পি ফাংশন সরিয়ে, এবং টিনিএমসিই অ্যাডভান্সড ইনস্টল করে & "পি ও বিআর ট্যাগগুলি অপসারণ বন্ধ করুন" বিকল্পটি সক্ষম করে।
দুর্ভাগ্যক্রমে এটি কেবল এত ভাল কাজ করে।
উদাহরণস্বরূপ, নিম্নলিখিত উদাহরণটি ধরুন:
<h2>How does it work?</h2>
<p>In order to use jQuery Easy Columns, you must install it as you would any other jQuery plugin. First, download the zip file using the button above. After downloading the file, extract it to a location of your choice, and move the extracted folder to your server using your favorite FTP client. After moving the plugin to your server (and of course calling the jQuery source into your document), call it in on your site using the following snippet of code:</p>
<pre>
<script type="text/javascript" src="/path/to/jquery.easycolumns.js"></script>
</pre>
যদি আমি এই কোডটি এইচটিএমএল সম্পাদকটিতে টাইপ করি তবে উপরে তালিকাভুক্ত উভয় বিকল্প ইতিমধ্যে সক্ষম রয়েছে, তারপরে আমি যখন দুটি পৃথক সম্পাদকের মধ্যে স্যুইচ করি তখন কিছুই ঘটে না, যা প্রত্যাশিত। দুর্ভাগ্যক্রমে, সংরক্ষণ করার সময়, কোডটি স্বয়ংক্রিয়ভাবে এটিতে রূপান্তরিত হয়:
<h2>How does it work?</h2>
<p>In order to use jQuery Easy Columns, you must install it as you would any other jQuery plugin. First, download the zip file using the button above. After downloading the file, extract it to a location of your choice, and move the extracted folder to your server using your favorite FTP client. After moving the plugin to your server (and of course calling the jQuery source into your document), call it in on your site using the following snippet of code:</p>
<pre>
<script type="text/javascript" src="/path/to/jquery.easycolumns.js"></script>
</pre>
আপনি দেখতে পাচ্ছেন, প্রাক ট্যাগের অভ্যন্তরে সমস্ত সত্তা প্রকৃত এইচটিএমএল অক্ষরে রূপান্তরিত হয়। তারপরে, আমি যদি আবার এই একই পোস্টটি সংরক্ষণ করি তবে আমি নীচের মতো কিছু পেয়েছি:
<h2>How does it work?</h2>
<p>In order to use jQuery Easy Columns, you must install it as you would any other jQuery plugin. First, download the zip file using the button above. After downloading the file, extract it to a location of your choice, and move the extracted folder to your server using your favorite FTP client. After moving the plugin to your server (and of course calling the jQuery source into your document), call it in on your site using the following snippet of code:</p>
<pre><br />
<script type="text/javascript" src="/path/to/jquery.easycolumns.js"></script><br />
</pre>
মনে রাখবেন যে ওয়ার্ডপ্রেস আসলে পোস্টে বিআর ট্যাগগুলি ইনজেক্ট করবে। বলার অপেক্ষা রাখে না, যখন এই পোস্টটি কয়েকবার আপডেট করা হয়েছে, যখন এটি সম্মুখভাগে দেখা হয়, তখন ডিসপ্লেটি প্রত্যাশিত ডিসপ্লেটির কাছাকাছি হয় না।
যুক্ত হওয়া সমস্ত "ফর্ম্যাটিং কার্যকারিতা" থেকে আমার মুক্তি পাওয়ার একমাত্র উপায়টি হ'ল আমার প্রোফাইলের মাধ্যমে ভিজ্যুয়াল সম্পাদকটি অক্ষম করা।
আমি পেশাদার ওয়েব বিকাশকারী বিবেচনা করে এটি আমার পক্ষে সূক্ষ্ম সমাধান। আমার ক্লায়েন্টদের জন্য, এই সমাধানটি মার্জিত থেকে অনেক দূরে। আমার ক্লায়েন্টরা বেশিরভাগ ক্ষেত্রে ভিজ্যুয়াল এডিটর ব্যবহার করবেন। আমার ক্লায়েন্টদের মধ্যে অনেকগুলি খুব প্রযুক্তি জ্ঞানহীন নয় এবং লেআউটটি ভেঙে গেলে মাঝে মাঝে আমাকে তাদের পোস্টগুলি ঠিক করার প্রয়োজন হয়। এটি আমাকে ভিজ্যুয়াল সম্পাদক ব্যবহার করতে সীমাবদ্ধ করে, কারণ আমি লেআউটটি ভঙ্গ করার ভয় ছাড়াই এইচটিএমএল সম্পাদকটিতে পরিবর্তন করতে পারি না।
প্রধানত, (এবং আমি মনে করি একটি বৃহত জনগোষ্ঠী এই উত্তর থেকে উপকৃত হতে পারে), নিম্নলিখিতগুলি নিশ্চিত করতে আমি কোন স্পষ্ট পদক্ষেপগুলি অনুসরণ করতে পারি:
- ভিজ্যুয়াল বা এইচটিএমএল সম্পাদক থেকে একটি পোস্ট সম্পাদনা করা যেতে পারে।
- দুটি ট্যাবগুলির মধ্যে স্যুইচ করার সময় কোনও পোস্টের বিষয়বস্তু কোনওভাবেই সংশোধিত হয় না।
- এইচটিএমএল সম্পাদক থেকে কোনও পোস্ট সংরক্ষণ করার সময়, কোনও অতিরিক্ত সামগ্রী যুক্ত করা হয় না।
- এইচটিএমএল সম্পাদক থেকে কোনও পোস্ট সংরক্ষণ করার সময় কোনও সত্তা রূপান্তরিত হয় না।
- বোনাস: এইচটিএমএল সম্পাদক থেকে কোনও পোস্ট সংরক্ষণ করার সময়, কোনও প্রিগ ট্যাগের মধ্যে আবৃত এবং ইতিমধ্যে সত্তায় রূপান্তরিত হয়নি এমন কোনও কোড (উদাহরণস্বরূপ HTML) স্বয়ংক্রিয়ভাবে সত্তায় রূপান্তরিত হবে।
মূলত, আমরা যদি তৃতীয় পক্ষের প্লাগইন ব্যবহারের মাধ্যমে TinyMCE এ পূর্বোক্ত আচরণটি তৈরি করতে পারি তবে আমরা টিনিএমসিই ব্যবহারের মাধ্যমে মিথ্যা ফর্ম্যাটিং সম্পর্কিত অন্যান্য সমস্ত প্রশ্ন ঝুঁকতে পারি। আমি মনে করি যে এটি থেকে অনেক লোক উপকৃত হতে পারে।
এটি কেবল যুক্তিসঙ্গত বলে মনে হয় যে WYSIWIG সম্পাদকের কাছ থেকে প্রত্যাশা করা একটি নির্দিষ্ট কার্যকারিতা রয়েছে এবং এটি এর বিপরীতে। সমস্ত যুক্তি এবং কারণ অনুসারে, ফর্ম্যাট ফাংশনে অন্তর্নির্মিত ওয়ার্ডপ্রেস তাদের বর্তমান সেটআপের সাথে বেশ অকেজো। আমার কাছে মনে হয় যে তারা যদি এই ফর্ম্যাটিং বিকল্পগুলি ব্যবহার করতে চান তবে তাদের সেরা বেট হ'ল একটি সম্পাদক বা অন্যটিকে সক্ষম করা, উভয়ই নয়।
এবং অনুগ্রহ করে: এই থ্রেডটিকে ওয়ার্কআরউন্ডস এবং অন্য ডাব্লুওয়াইএসআইজিআইজি সম্পাদকের জন্য ডাউনলোডগুলি দিয়ে উত্তর দিন না যা সমস্যার 'সমাধান' করে। এটি ওয়ার্ডপ্রেস কোর সহ একটি অন্তর্নিহিত সমস্যা (যদিও সত্যই বাগ নেই) যা সংশোধন করা দরকার।
সম্পাদনা : ঠিক আছে, আমি এটি নিয়ে কাজ করছি এবং আমি ভাবছি বিপরীত প্রকৌশলই এই সমস্যাটি সমাধানের সেরা উপায় be এখনই, আমি wpautop অক্ষম করেছি (যা কেবল স্পষ্টতার জন্য একটি ফাংশন যা পাঠ্যটি প্রদর্শিত হওয়ার আগে পি এবং বিআর ট্যাগ যুক্ত করার জন্য "the_Contant" ফিল্টারটিতে লুকিয়ে থাকে , পাঠ্যটি সংরক্ষণ করা হয় না, তখন আমি মনে করি কিছু বিভ্রান্তি আছে কীভাবে এই ফাংশনটি পরিচালিত হয় w wpautop আপনি যখন সম্পাদকের ট্যাবগুলির মধ্যে স্যুইচ করেন তখন যে পরিবর্তনগুলি ঘটতে দেখেন তার জন্য দায়বদ্ধ নয় That's এটি সম্পূর্ণ আলাদা something
যাইহোক, আমি ডাব্লুপাউটপ অক্ষম করেছি, আপনি যখন এইচটিএমএল সম্পাদক ব্যবহার করেন তখন ভাল অনুশীলন হয়। সেই বিন্দু থেকে, আমি কোনও পোস্ট সংরক্ষণ করার সময় উপস্থিত এইচটিএমএল সত্তা ত্রুটিগুলি দিয়ে প্রথমে ভিজ্যুয়াল সম্পাদককে অক্ষম করেছি। সি সি বাভোটার সহায়তায় ধন্যবাদ, আমি এইচটিএমএল সম্পাদকের যে কোনও ট্যাগ সাইটের সামনের প্রান্তে প্রদর্শন করার আগে তাদের সমতুল্য সত্তায় রূপান্তরিত করার জন্য একটি স্নিপেট পেয়েছি (ক্রেডিট: http://bavotasan.com/2012/ কনভার্ট ওয়ার্ডপ্রেস-থেকে-এইচটিএমএল-সত্তা-প্রি-ট্যাগ-বিষয়বস্তু ।
#add_filter( 'the_content', 'pre_content_filter', 0 );
/**
* Converts pre tag contents to HTML entities
*
* This function is attached to the 'the_content' filter hook.
*
* @author c.bavota
*/
function pre_content_filter( $content ) {
return preg_replace_callback( '|<pre.*>(.*)</pre|isU' , 'convert_pre_entities', $content );
}
function convert_pre_entities( $matches ) {
return str_replace( $matches[1], htmlentities($matches[1] ), $matches[0] );
}
add_filter( 'the_content', 'pre_content_filter', 10, 2 );
এটি কার্যকরভাবে ওয়ার্ডপ্রেস দ্বারা সমস্ত সত্তাকে ট্যাগ হিসাবে রূপান্তর করে ট্যাগগুলিতে রূপান্তরিত করার সাথে সম্পর্কিত সমস্যাগুলি সরিয়ে দেয়। এখন, আপনি এইচটিএমএল সম্পাদকটি ব্যবহার করতে পারেন এবং সত্তা নিজেকে রূপান্তর না করে "প্রাক" ট্যাগের মধ্যে স্ট্যান্ডার্ড কোড লিখতে পারেন। এটি ওয়ার্ডপ্রেসে সত্তা রূপান্তরকরণের সাথে সম্পর্কিত সমস্ত সমস্যার যত্ন নেয় এবং সামনের প্রান্তে সবকিছু সঠিকভাবে প্রদর্শিত হবে তা নিশ্চিত করে। এখন, ট্যাবগুলির মধ্যে পিছনে পিছনে ক্লিক করার সময় অভিজ্ঞ আচরণটি সংশোধন করতে আমাদের কী দরকার তা বুঝতে হবে figure এই মুহুর্তে, এটি প্রদর্শিত হবে যে এইচটিএমএল থেকে ভিজ্যুয়াল ট্যাবে চলে যাওয়ার সময়, HTML ট্যাবটির বিষয়বস্তু জাভাস্ক্রিপ্ট বা কোনও কিছু দ্বারা ব্যাখ্যা করা হবে যাতে সামগ্রীর চেহারা কেমন হওয়া উচিত তার লাইভ আপডেট সরবরাহ করার চেষ্টা করতে হবে। এর ফলে ট্যাগগুলি (যা এইচটিএমএল ট্যাবে অ সত্তা ফর্মটিতে প্রদর্শিত হয়) প্রদর্শিত পরিবর্তে প্রক্রিয়াভিত হতে পারে। তারপর, এইচটিএমএল ট্যাবে স্যুইচ করার সময়, এটি প্রদর্শিত হবে যে টিনিএমসিই বর্তমান ডেটাটি পাশ করে। এর অর্থ আপনি যখন ফিরে যান, আপনি আপনার HTML কাঠামো হারাবেন। আমাদের উইন্ডোতে লোড করার আগে টিনিএমসিকে প্রি ট্যাগগুলিতে সমস্ত কিছুকে সমতুল্য সত্তায় রূপান্তর করতে বলার উপায় খুঁজে বের করতে হবে (মূলত আমরা সীমান্তে যা করেছি তার ব্যাকএন্ড সংস্করণ কিন্তু পিএইচপি এবং হুকের পরিবর্তে টিনিম্যাস এবং জাভাস্ক্রিপ্ট সহ), যাতে এটি প্রক্রিয়াজাতকরণের পরিবর্তে প্রদর্শিত হয়। পরামর্শ? এটি উইন্ডোতে লোড করার আগে সমতুল্য সত্তা (মূলত আমরা সীমারেখাতে পিএইচপি এবং হুকের পরিবর্তে টিনিম্যাস এবং জাভাস্ক্রিপ্ট দিয়ে যা করেছি তার ব্যাকএন্ড সংস্করণ), যাতে এটি প্রক্রিয়াজাতকরণের পরিবর্তে প্রদর্শিত হয়। পরামর্শ? এটি উইন্ডোতে লোড করার আগে সমতুল্য সত্তা (মূলত আমরা সীমারেখাতে পিএইচপি এবং হুকের পরিবর্তে টিনিম্যাস এবং জাভাস্ক্রিপ্ট দিয়ে যা করেছি তার ব্যাকএন্ড সংস্করণ), যাতে এটি প্রক্রিয়াজাতকরণের পরিবর্তে প্রদর্শিত হয়। পরামর্শ?
সম্পাদনা 2 :
আরও কিছু গবেষণার পরে, সত্ত্বাগুলি প্রদর্শিত হয় যখন প্রি ট্যাগটিতে তা রূপান্তর করা হয় তা প্রাক ট্যাগের মধ্যে থাকা সামগ্রীর জন্য ভাল কাজ করে তবে বলুন যে আমার কাছে এই লাইনের সাথে একটি ব্লগ পোস্ট রয়েছে:
"এরপরে, আমাদের এইচটিএমএল ফাইলটিতে এই লাইনটি যুক্ত করা দরকার: <p> হ্যালো, ওয়ার্ল্ড! </ P>"
এই লাইনটি দেখে আপনি বলতে পারেন যে কোডটি সাইটে প্রদর্শিত হবে এবং পার্স করা হবে না, তবে পোস্টটি সংরক্ষণ করার পরে এই সত্তাগুলি পরবর্তী পোস্ট সম্পাদনা লোডে ডিকোড হয়ে যায় এবং পরবর্তী প্রতিটি সেভ এ সেভ হয় কাঁচা এইচটিএমএল ট্যাগ হিসাবে, যার ফলে তাদের সামনের প্রান্তে পার্স করা যায়। আমি এখন পর্যন্ত কেবলমাত্র সমাধানটিই ভাবতে পারি তা হল "কোড" ট্যাগের জন্য অনুরূপ কোডে লিখি যেমন আমি প্রাকের জন্য ব্যবহার করছি এবং তারপরে কেবল "কোড" ট্যাগে ছোট একটি লাইনার এবং বড় অংশগুলিকে মোড়ানো "প্রাক" ট্যাগ কেহ অন্য কোন ধারনা আছে?