wp-admin / widgets.php পরিবর্তন করা হচ্ছে


11

আমরা অ্যাডমিন প্যানেলে উইজেট পৃষ্ঠাটি একটু অন্যভাবে ডিজাইন করতে চাই, মূলত সাইট প্রশাসককে বুঝতে হবে যে প্রতিটি উইজেট কোথায় প্রদর্শিত হবে:

এখানে চিত্র বর্ণনা লিখুন

তার জন্য, আমাদের এইচটিএমএল পরিবর্তন করতে হবে যা উইজেটস.এফপি রেন্ডার করে (কেবল CSS পরিবর্তন করা যথেষ্ট নয়)। কোরটিকে স্পর্শ না করে আমরা কীভাবে তা করব?


উপরের পদ্ধতির সাথে উইজেটগুলি টেনে আনার প্যানেলটি কোথায় থাকবে?
সানচোথফাত

@ সানছোথেফাত নীচে
লিয়া কোহেন

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

উত্তর:


7

যদি আপনি আপনার ওয়ার্ডপ্রেসটি ৩.৩.১ এ আপগ্রেড করেন যা আপনার একেবারে উচিত, অ্যাডমিনের প্রতিটি উইজেট অঞ্চলে এখন একটি আইডি রয়েছে যা আপনি সিএসএসের মাধ্যমে লক্ষ্যবস্তু করতে ব্যবহার করতে পারেন যা সত্যই যথেষ্ট should উদাহরণের জন্য http://core.trac.wordpress.org/ticket/18334 দেখুন ।


4

আমি আমার মাথা থেকে প্রশ্নটি বের করতে পারি না, তবে সম্পূর্ণ সমাধানের জন্য আমার কাছে সময় নেই। সুতরাং আমি এখানে আমার ধারণাটি লিখে রাখি, তারপরে আমি একটি ছোট অনুগ্রহ নির্ধারণ করব।

  • অন্যান্য সামগ্রীর উপরে একটি ক্রিয়া 'widgets_admin_page'রয়েছে wp-admin/widgets.php। আপনি এখানে একটি প্রাকদর্শন বাক্স রাখতে পারেন।
    কোডের উদাহরণ:

    add_action( 'widgets_admin_page', 'show_widget_preview' );
    function show_widget_preview()
    {
        $preview_widgets = $GLOBALS['wp_registered_sidebars'];
        unset ( $preview_widgets['wp_inactive_widgets'] );
    
        print '<div style="border:2px solid #ddf;padding:20px">'
        . '<pre>' . htmlspecialchars( print_r( $preview_widgets, TRUE ) ) . '</pre>'
        . '</div>';
    }
    

    এটি সমস্ত নিবন্ধিত সাইডবারগুলির একটি অ্যারে প্রিন্ট করে। নিবন্ধিত উইজেটগুলি খুঁজতে আপনাকে সমস্ত সাইডবারগুলির মধ্য দিয়ে যেতে হবে।

  • পূর্বরূপটি দরকারী করতে আপনার দুটি ফাইল দরকার: একটি HTML টেমপ্লেট এবং একটি শৈলী শীট।
    আমি ব্যবহার করব add_theme_support()
    থিমটির জন্য নমুনা কোড functions.php:

    add_theme_support( 
        'widget_preview', 
        array ( 
            'template'   => get_stylesheet_directory() . '/widget-preview.php', 
            'stylesheet' => get_stylesheet_directory() . '/widget-preview.css' 
        ) 
    );
  • ইন show_widget_preview()আপনি শৈলী পত্রক সারিবদ্ধ এবং টেমপ্লেট লোড করুন। পূর্বনির্ধারিত স্থানধারীদের মধ্যে নিবন্ধিত সাইডবারগুলিকে রেন্ডার করুন widget-preview.php

  • ব্যবহারকারী কোনও উইজেটে সংরক্ষণ বোতামটি চাপ দেওয়ার পরে অ্যাজেএক্স প্রতি টেম্পলেট আপডেট করুন

  • চ্যালেঞ্জ: অ্যাকাউন্ট, ছোট উইন্ডো এবং সিএসএসের বিবাদগুলিতে অ্যাক্সেসযোগ্যতা মোড নিন Take কোনও সাইডবার নিবন্ধভুক্ত না হলে একটি দরকারী বার্তা দেখান (সাইডবারের বিবরণ?)। কোনও ব্যবহারকারী যখন পূর্বরূপ বাক্সে একটি উইজেট টেনে আনার চেষ্টা করবে তখন কী হবে? :)


এটি সম্পর্কে চিন্তা করার জন্য ধন্যবাদ, @ টসচো! আমি বর্তমানে অন্যান্য প্রকল্পে কাজ করছি, তবে এটির মধ্যে আবার ফিরে আসতে হবে এবং আমি আপনার সমাধানটি যাচাই করে নেব এবং আপনাকে জানাব। আবার ধন্যবাদ!
লেয়া কোহেন 10

0

সংক্ষিপ্ত উত্তর হ'ল আপনি পারবেন না, মূল স্পর্শ ছাড়া না।

তবে আপনি রেজিস্টার_সাইডবার ফাংশনে প্রতিটি উইজেটের ক্ষেত্রের বিবরণ (উইজেট অঞ্চল শিরোনামের নীচে পাঠ্য) সেট করতে পারেন।

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