ওয়ার্ডপ্রেস তৈরি করুন WYSIWYG iframe এর ফালা না


16

আমার একটি ব্লগ রয়েছে যা আমার প্রায়শই বিভিন্ন কারণে পোস্টগুলিতে আইফ্রেমগুলি সন্নিবেশ করা প্রয়োজন (কেন কেবল আমাকে বিশ্বাস করবেন না জিজ্ঞাসা করবেন না!)

আমি যখন আমার পোস্টগুলি সম্পাদনা করতে "ভিজ্যুয়াল" ভিউটি ব্যবহার করি তখন ডাব্লুওয়াইএসআইওয়াইওয়াইজি আমার আইফ্রেমগুলি অবিচ্ছিন্নভাবে সরিয়ে দেয় ...

আমি জানি আমি যদি "এইচটিএমএল" ভিউটি ব্যবহার করি এবং কেবল "এইচটিএমএল" ভিউটি দেখি / সংরক্ষণ করি তবে আমি পোস্টে আইফ্রেম রাখতে পারি ... তবে আমি সত্যিই আমার পোস্টটি সম্পাদনা করতে স্বাভাবিক WYSIWYG ব্যবহার করতে সক্ষম হতে চাই ছাড়া "HTML" দেখার জন্য অবলম্বন করা।

এই আচরণটি অক্ষম করার জন্য আমি কী করতে পারি? আমি এই পোস্টটি দেখেছি , এটি সম্পাদনার পরামর্শ দেয় wp-includes/js/tinymce/tiny_mce_config.php, তবে আমি সত্যিই বরং এমন কিছু করা এড়াতে পারি যে সম্ভবত এটি একটি আপগ্রেডে ভেঙে যাবে!


আপনি লিঙ্ক করেছেন এমন পোস্টে অটো সম্পাদনা না করে ফিল্টার সমাধানও করতে পারে। তুমি কি চেষ্টা করেছ?
রাস্টটি

আরও কিছুটা স্পষ্ট করার জন্য, এটি করার জন্য আমাকে কিছু পিএইচপি হ্যাক করতে হবে না (আমি সম্ভবত ভুলে যাব, আপগ্রেড করব এবং জিনিসগুলি ভেঙে দেব) ... যদি সেটিংসের জিনিস হয় (এমনকি এটি পিএইচপিতে থাকে) বা আমি যদি কিছু বলতে পারি তবে আমার আইফ্রেমে চারপাশে কোডের একটি বিড়াল মোড়কও কাজ করবে। এই মুহুর্তে আমি সম্ভবত এটি করার জন্য কিছু জাভাস্ক্রিপ্ট ব্যবহার করব, তবে এটি অগোছালো বলে মনে হচ্ছে।
জাস্টিন জেনকিনস

1
এর জন্য কোনও কনফিগারেশন বিকল্প নেই, এবং এডিটারে এটির চারপাশে কোড দেওয়ার কোনও উপায় নেই (এটি যদি কোনও কর্মক্ষেত্র বিদ্যমান থাকে তবে এটি একটি সুরক্ষা গর্ত হবে)। প্লাগিনে উল্লিখিত কোডটি স্থাপন করা এটি করার সর্বোত্তম উপায় এবং এটি আপগ্রেডগুলিও টিকে থাকবে (আপনি যখন আপগ্রেড করবেন তখন প্লাগইনগুলি মুছবে না)।
জান ফ্যাব্রি

@ জান, আশা করছি যে এমন কেউ আছেন যা এমন কিছু জানেন যা আমরা জানি না ... যদি না হয়, ধন্যবাদ অদ্ভুত বলে মনে হচ্ছে এটি কেবলমাত্র ভিজ্যুয়াল অংশে সেকেন্ড গর্ত, এইচটিএমএল নয়? আমি বুঝতে পারছি ভিজ্যুয়াল মোডে মানুষের নাকের নীচে জিনিসগুলি স্লিপ করা সহজ ... তবে তবুও।
জাস্টিন জেনকিন্স

iframesভিডিও এম্বেড করার জন্য দরকারী। <object>পদ্ধতি, ফ্ল্যাশ উপর নির্ভর যেহেতু <iframe>পদ্ধতি, যা সবচেয়ে ভিডিও-শেয়ারিং সাইট এই দিন সমর্থন HTML5 ভিডিও জন্য করতে পারবেন।
TRIG

উত্তর:


9

আপনি যদি নিজের কোডটি লিখতে না চান তবে এম্বেড করার অনুমতি দেওয়ার জন্য একটি প্লাগইন রয়েছে <iframe>:

তারপরে এই জাতীয় শর্টকোডটি ব্যবহার করুন :

[iframe http://example.com 400 500]

@ ইথান সিফের্ট - ভাল উত্তর!
মাইকচিন্কেল

এটি সত্যই আমার প্রশ্নের ক্ষেত্রে প্রযোজ্য, কোনও "হ্যাকিং" প্রয়োজন নেই। এখনও এইচটিএমএল ভিউ ব্যবহার করার প্রয়োজন আছে ... ধন্যবাদ।
জাস্টিন জেনকিনস

এই উত্তরের প্লাগইনটি এখন আর আপ-টু-ডেট নয়, তবে এটি পরিবর্তে ভাল দেখাচ্ছে: wordpress.org/plugins/iframe
টিম ম্যালোন

23

আপনি টিনিএমসিএর ফিল্টারটি কাস্টমাইজ করতে পারেন, টিনিএমসিই- <iframe>র মধ্যে গুগল ম্যাপ ব্যবহার করতে নিম্নলিখিত এবং এস ট্যাগগুলির জন্য নিম্নলিখিত উদাহরণটি দেখুন ।

function fb_change_mce_options( $initArray ) {

    // Comma separated string od extendes tags.
    // Command separated string of extended elements.
    $ext = 'pre[id|name|class|style],iframe[align|longdesc|name|width|height|frameborder|scrolling|marginheight|marginwidth|src]';

    if ( isset( $initArray['extended_valid_elements'] ) ) {
        $ext = ',' . $ext;
    }
    $initArray['extended_valid_elements'] = $ext;

    // Maybe, set tiny parameter verify_html
    //$initArray['verify_html'] = false;

    return $initArray;
}
add_filter( 'tiny_mce_before_init', 'fb_change_mce_options' );

এটি কোনও কাস্টম প্লাগইন বা থিমের ফাংশন.এফপিতে যুক্ত করুন। এছাড়াও আপনি আমার পোস্টে আরও তথ্য পড়তে পারেন: http://wpengineer.com/1963/customize-wordpress-wysiwyg-editor/


@ বেল্জ - ভাল উত্তর। আমি ঠিক আপনার সাইটে পড়ছিলাম যে খুব আগে আজকের পোস্টটি। আপনি জানেন, টিনিএমসিএর জন্য ওয়েবে বেশিরভাগ উদাহরণ ওয়ার্ডপ্রেসের প্রসঙ্গে নয় এবং যখন ওয়ার্ডপ্রেসের প্রসঙ্গে এটি উল্লেখযোগ্যভাবে জটিল হয়। আপনি এটি পরিষ্কারভাবে বুঝতে পারেন। আপনি টিনিএমসিই সম্পর্কে আরও অনেক কিছু কভার করতে পারেন; আপনি এটিতে ব্লগ পোস্টের একটি সিরিজ করা বিবেচনা করেছেন?
মাইকচিন্কেল

আমার সবচেয়ে বড় সমস্যা সময়; তবে আমার খসড়াগুলিতে আমার এই বিষয়ে আরও একটি পোস্ট রয়েছে এবং সম্ভবত পরবর্তী সপ্তাহগুলিতে আমি এটি পোস্ট করব। আপনার শ্রদ্ধা নিবেদনের জন্য ধন্যবাদ।
বুলেটজ

1

আমাকে ওয়ার্ডপ্রেস 3.2.1 এ আপগ্রেড করতে হয়েছিল এবং তারপরে এম্বেড ইফ্রেমে ইনস্টল করা হয়েছিল এবং এটি দুর্দান্ত কাজ করেছে।

এইচটিএমএল থেকে ওয়ার্ডপ্রেসে ভিজ্যুয়েলে পিছনে স্যুইচ করার সময় iframe tages আর সরানো হয়নি।


1

মাল্টিসাইট পরিবেশে সুপ্রেডমিন ছাড়া অন্য প্রতিটি ব্যবহারকারী এইচটিএমএল ফিল্টারিং পান (কারণ সম্ভাব্য সুরক্ষা দুর্বলতা )। উপর ভিত্তি করে এই আপনাকে অবশ্যই সম্পাদকদের unfiltered_html ক্ষমতা যোগ যোগ করতে পারেন।

/**
 * Enable unfiltered_html capability for Editors.
 *
 * @param  array  $caps    The user's capabilities.
 * @param  string $cap     Capability name.
 * @param  int    $user_id The user ID.
 * @return array  $caps    The user's capabilities, with 'unfiltered_html' potentially added.
 */
function km_add_unfiltered_html_capability_to_editors( $caps, $cap, $user_id ) {
    if ( 'unfiltered_html' === $cap && user_can( $user_id, 'editor' ) ) {
        $caps = array( 'unfiltered_html' );
    }
    return $caps;
}
add_filter( 'map_meta_cap', 'km_add_unfiltered_html_capability_to_editors', 1, 3 );

0

আপনি যদি শর্টকোড সমাধানের জন্য কোনও অতিরিক্ত প্লাগইন ব্যবহার করতে চান না, আপনি নিজের থিম, প্লাগইন বা ফাংশন.এফপিতে হাতছাড়া করে এই লাইনগুলির সাথে কিছু যুক্ত করতে পারেন। যদি প্রয়োজনীয় হয় তবে আপনার কী-অ্যারেতে আরও কিছু কী যুক্ত করতে হবে।

add_shortcode( 'iframe' , 'mycustom_shortcode_iframe' );
function mycustom_shortcode_iframe($args, $content) {
    $keys = array("src", "width", "height", "scrolling", "marginwidth", "marginheight", "frameborder");
    $arguments = mycustom_extract_shortcode_arguments($args, $keys);
    return '<iframe ' . $arguments . '></iframe>';
}

function mycustom_extract_shortcode_arguments($args, $keys) {
    $result = "";
    foreach ($keys as $key) {
        if (isset($args[$key])) {
            $result .= $key . '="' . $args[$key] . '" ';
        }
    }
    return $result;
}

তারপরে আপনার পোস্ট পৃষ্ঠায়, ব্যবহারটি এরকম হবে:

[iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.de/maps?f=q&amp;source=s_q&amp;hl=de&amp;geocode=&amp;q=New+York+City,+New+York,+USA&amp;aq=0&amp;oq=new+york&amp;sll=51.238455,6.81435&amp;sspn=0.373151,1.056747&amp;ie=UTF8&amp;hq=&amp;hnear=New+York+City,+New+York,+Vereinigte+Staaten&amp;t=m&amp;z=11&amp;iwloc=A&amp;output=embed"]

এটা কাজ করছে না. এটি ঠিক একই বিষয়বস্তু হিসাবে iframe পোস্ট
অঙ্কিত অগ্রবাল

আপনি কোডটি কী করতে চান তা আমি জানি না, তবে লিখিতভাবে কোডটি লেখার মতো বিষয়বস্তুতে আইফ্রেম পোস্ট করা the কোডটি করার কথা। সুতরাং, যদি iframe আপনার সম্মুখভাগে প্রদর্শিত হয়, সবকিছু প্রত্যাশার মতো কাজ করে।
সানি রাইড

0

আমি খুঁজে পেয়েছি যে ওয়ার্ডপ্রেসে আমার পৃষ্ঠাগুলি তৈরি করতে ফিউশন এডিটর প্লাগইন ব্যবহার করা ভাল কাজ করে।

এই ভিডিওটিতে ফিউশন বিল্ডার কীভাবে ব্যবহার করবেন তা দেখানো হয় (ধারক, কলৌমস, উপাদান এবং কোড ব্লক যুক্ত করার অংশের জন্য 4:15 এ যান): https://www.youtube.com/watch?v=UDyNsnB_COA

আমি একটি ধারক যুক্ত করতে ক্লিক করুন, তারপরে উপাদান যুক্ত করতে ক্লিক করুন, এবং তারপরে একটি পাঠ্য ব্লকের পরিবর্তে একটি কোড ব্লক যুক্ত করুন (পাঠ্য ব্লকটি একটি আইফ্রেম সরিয়ে ফেলবে, তবে একটি কোড ব্লকটি ব্যবহার করবে না)। আমার কোড ব্লকে আমি আমার আইফ্রেমে কোড পেস্ট করে প্রকাশ করি। দুর্দান্ত কাজ করে এবং আমাকে কোনও পিএইচপি ফাইল সংশোধন করতে হবে না!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.