আমি কি পাঠ্য প্যানেলে বিন্যাস বিকল্পে একটি কাস্টম বিন্যাস যুক্ত করতে পারি?


16

পাঠ্য সম্পাদকটিতে যেখানে আপনি শিরোনাম এবং অন্যান্য সেটিংস সেট করতে পারেন সেখানে ক্লায়েন্টদের ব্যবহারের জন্য আপনার নিজস্ব শৈলী যুক্ত করা কি সম্ভব? এবং এমনকি অপ্রয়োজনীয় মুছে ফেলুন?


2
ডাব্লুপি 3 এবং টিনিএমসিই এই দিকটিতে এতটাই গণ্ডগোল হয়েছে। আমি বিশ্বাস করতে পারি না যে খুব সহজেই সিএমইডিটরের মতো জঘন্য বিন্যাসগুলি সংযোজন বা কাস্টমাইজ করা সম্ভব নয়।
চেরোভিম

1
আমি একমত, এটি একটি সম্পূর্ণ ব্যথা।
হালকা Fuzz

উত্তর:


17

: "ধ্রুপদী" TinyMCE এডিটরের দুই dropdowns হয়েছে formatselectজন্য অনুচ্ছেদ শৈলী এবং styleselectজন্য চরিত্র শৈলী - যা অনুচ্ছেদ শৈলী ধারণ করতে পারে, এটি আরো বিভ্রান্তিকর করা। ডিফল্টরূপে ওয়ার্ডপ্রেস কনফিগারেশন শুধুমাত্র দেখায় বিন্যাস ড্রপডাউন। আপনি যদি সম্পাদকে একটি কাস্টম স্টাইলশিট প্রয়োগ করেন তবে টিনিএমসিই এটি ক্লাসের নামগুলি বেছে নিতে এবং সেগুলি স্টাইল ড্রপডাউনতে যুক্ত করতে পারে - তবে এটি আমার জন্য প্রতিবার কার্যকর হয়নি।

3.0 যেহেতু আপনি কল করতে পারেন add_editor_style()আপনার functions.phpসম্পাদকের কাছে একটি স্টাইলশীট যোগ করতে। ডিফল্টরূপে এটি editor-style.cssআপনার থিম ডিরেক্টরিতে রয়েছে। 3.0 এর আগে mce_cssআপনাকে আপনার সম্পাদকের স্টাইলশিটে ইউআরএল যুক্ত করতে ফিল্টারটি ঝুঁকতে হবে। এই শেষ হবে TinyMCE কনফিগারেশন মানcontent_css

স্টাইল ড্রপডাউন যোগ করতে styleselectবিকল্পটি অবশ্যই একটি বোতাম বার কনফিগারেশন অ্যারেতে উপস্থিত থাকতে হবে ( theme_advanced_buttons[1-4]টিনিএমসিইতে, mce_buttons_[1-4]ওয়ার্ডপ্রেসে ফিল্টার করা )। ব্লক ফর্ম্যাটগুলির তালিকাটি টিনিএমসিই- theme_advanced_blockformatsবিকল্প দ্বারা নিয়ন্ত্রিত হয় , যা আপনি tiny_mce_before_initফিল্টারে নিয়ন্ত্রণ অ্যারে যুক্ত করতে পারেন । আপনি যদি স্টাইল ড্রপডাউন (কেবল আপনার সিএসএস শ্রেণীর নাম নয়) এর নামগুলি কাস্টমাইজ করতে চান তবে theme_advanced_stylesবিকল্পটি দেখুন । আপনি আরও উন্নত style_formatsবিকল্পটি ব্যবহার করতে পারেন যা আপনাকে শৈলীর সংজ্ঞা দিতে আরও নমনীয়তা দেয়।

সব আঙ্গুলসমূহ এবং ডিফল্ট কনফিগারেশন সঙ্গে প্রাসঙ্গিক পিএইচপি কোড রয়েছে wp-admin/includes/post.php, ফাংশনেwp_tiny_mce() । সব মিলিয়ে আপনার সেটআপটি দেখতে দেখতে এটি দেখতে পেল:

add_action( 'after_setup_theme', 'wpse3882_after_setup_theme' );
function wpse3882_after_setup_theme()
{
    add_editor_style();
}

add_filter('mce_buttons_2', 'wpse3882_mce_buttons_2');
function wpse3882_mce_buttons_2($buttons)
{
    array_unshift($buttons, 'styleselect');
    return $buttons;
}

add_filter('tiny_mce_before_init', 'wpse3882_tiny_mce_before_init');
function wpse3882_tiny_mce_before_init($settings)
{
    $settings['theme_advanced_blockformats'] = 'p,h1,h2,h3,h4';

    // From http://tinymce.moxiecode.com/examples/example_24.php
    $style_formats = array(
        array('title' => 'Bold text', 'inline' => 'b'),
        array('title' => 'Red text', 'inline' => 'span', 'styles' => array('color' => '#ff0000')),
        array('title' => 'Red header', 'block' => 'h1', 'styles' => array('color' => '#ff0000')),
        array('title' => 'Example 1', 'inline' => 'span', 'classes' => 'example1'),
        array('title' => 'Example 2', 'inline' => 'span', 'classes' => 'example2'),
        array('title' => 'Table styles'),
        array('title' => 'Table row 1', 'selector' => 'tr', 'classes' => 'tablerow1'),
    );
    // Before 3.1 you needed a special trick to send this array to the configuration.
    // See this post history for previous versions.
    $settings['style_formats'] = json_encode( $style_formats );

    return $settings;
}

অ্যাড_এডিটর_স্টাইল ব্যবহার করে .css এর কোন বিশেষ বিন্যাস থাকা উচিত? কিছুই ঘটছে বলে মনে হচ্ছে
মাইল্ড ফাজ

1
@ মাইল্ড ফাজ: আমার আগের উত্তরটি বিভ্রান্তিমূলক ছিল কারণ ওয়ার্ডপ্রেস দুটি প্রয়োজনীয় ড্রপডাউনগুলির মধ্যে কেবল একটিকে দেখায়। দ্বিতীয় ড্রপডাউন যুক্ত করার উপায় এবং কীভাবে এটি নিয়ন্ত্রণ করতে হয় তার সাথে আমি আমার উত্তর আপডেট করেছি।
জান ফ্যাব্রি

1
@ মাইল্ড ফাজ: বিভিন্ন style_formatsআইটেমের প্যারামিটারগুলি সম্পর্কিত formatsউইকি পৃষ্ঠায় ব্যাখ্যা করা হয়েছে ।
জান ফ্যাব্রি

1
কোন দীর্ঘতর ত্রুটি উত্পাদন করে, কিন্তু কোন প্রভাব আছে!
হালকা Fuzz

1
json_encode উত্পন্ন " '($ style_formats)'," ' ", json_encode (এবং নয়)। তাই জাভাস্ক্রিপ্ট বিরতি আপনি str_replace যা করতে হবে'"
cherouvim

0

এখানে অনুসারে টিনিএমসিই ফর্ম্যাট ড্রপডাউন আর স্টাইলের পূর্বরূপ দেখায় না

কারা এটা ঠিক ছিল, নতুন শৈলী দেখতে আপনার ডিফল্ট শৈলী আনসেট করা প্রয়োজন ...

unset($init['preview_styles']);

return $settings;

দয়া করে আরও কিছু বিশদ যুক্ত করুন এটি উদাহরণস্বরূপ $settingsএখানে কী রয়েছে তা পরিষ্কার নয় । ধন্যবাদ
বার্জায়ার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.