নতুন অ্যাডমিন বার আইটেমটিতে আমি কীভাবে একটি আইকন যুক্ত করব?


10

আমার একটি ফাংশন রয়েছে যা ওয়ার্ডপ্রেস টুলবারে আইটেম যুক্ত করে। উদাহরণ স্বরূপ:

$args2 = array(
    'id'    => 'conversations_unread',
    'title' => $visitor['conversations_unread'] . ' &nbsp ',
    'href'  => XenForo_Application::get('options')->boardUrl . '/conversations'
);

এই নতুন আইটেমটির বামে আমি কীভাবে আইকন পাব?

আমি 'মেটা' ব্যবহার করার চেষ্টা করেছি কিন্তু আইকনটি দেখায় না।

'meta' => array( 'class' => 'ib-icon' ),

আমি ছবিটি 'শিরোনাম' এ যুক্ত করার জন্য একটি রেফারেন্স পড়েছি তবে আমি এই আইকনটি মন্তব্য বুদ্বুদের মতো হতে চাই।

উত্তর:


13

পুরো উদাহরণ

উদাহরণস্বরূপ একটি দ্রুত (মিউ) প্লাগইন:

<?php
/** Plugin Name: Add Admin Bar Icon */
add_action( 'admin_bar_menu', function( \WP_Admin_Bar $bar )
{
    $bar->add_menu( array(
        'id'     => 'wpse',
        'parent' => null,
        'group'  => null,
        'title'  => __( 'Example', 'some-textdomain' ),
        'href'   => get_edit_profile_url( get_current_user_id() ),
        'meta'   => array(
            'target'   => '_self',
            'title'    => __( 'Hello', 'some-textdomain' ),
            'html'     => '<p>Hello</p>',
            'class'    => 'wpse--item',
            'rel'      => 'friend',
            'onclick'  => "alert('Hello');",
            'tabindex' => PHP_INT_MAX,
        ),
    ) );
} );

যা নীচের এইচটিএমএলকে প্রথম উপাদান হিসাবে রেন্ডার করে (এবং সেইসাথে আমাদের অ্যাডমিন বারকে অকেজো করে তোলে, তবে এটি এই উদাহরণের মূল বিষয় নয়):

<li id="wp-admin-bar-wpse" class="wpse--item">
    <a class="ab-item" tabindex="9223372036854775807" href="http://astro.dev/wp-admin/profile.php" onclick="alert(\'Hello\');" target="_self" title="Hello" rel="friend">Example</a>
    <p>Hello</p>
</li>

এখন আমরা একটি বেস পেয়েছি, আমরা যত্ন নিতে পারি ...

আইকন যোগ করা হচ্ছে

দুঃখজনক সংবাদ: এটি করার সহজ কোনও উপায় নেই। কমপক্ষে নিজের স্টাইলশিটটি যুক্ত না করেই। আপনি যেমন ( কোডটিতে ) পড়তে পারেন, কিছু কিছু ঘটছে: আমি আসল আইটেমের আগে কোনও ড্যাশিকন মোড়ানোর জন্য প্রয়োজনীয় এইচটিএমএলকে চাপ দিয়েছি । তারপরে আমি অ্যাকশনে সর্বশেষ সংখ্যা হিসাবে খুব উচ্চ পূর্ণসংখ্যার যোগ করেছি - এটাই অ্যাডমিন বারের আইটেমের অবস্থান স্থির করে।

<?php
/** Plugin Name: Add Admin Bar Icon */
add_action( 'admin_bar_menu', function( \WP_Admin_Bar $bar )
{
    $bar->add_menu( array(
        'id'     => 'wpse',
        'title'  => '<span class="ab-icon"></span>'.__( 'Example', 'some-textdomain' ),
        'href'   => get_edit_profile_url( get_current_user_id() ),
        'meta'   => array(
            'target'   => '_self',
            'title'    => __( 'Ahoi!', 'some-textdomain' ),
            'html'     => '<!-- Custom HTML that goes below the item -->',
        ),
    ) );
}, 210 ); // <-- THIS INTEGER DECIDES WHERE THE ITEM GETS ADDED (Low = left, High = right)

add_action( 'wp_enqueue_scripts', function()
{
    wp_enqueue_style( /* register your stylesheet */ );
}

শেষ পর্যন্ত আপনাকে নিজের স্টাইলশীটে কিছু সিএসএস বিধি যুক্ত করতে হবে। শুধুমাত্র চলন্ত অংশ wpseমধ্যে #/id। বাকিগুলি সব অ্যাডমিন বার আইটেম / নোডের জন্য স্থির এবং সমান। topড্যাশিকন ফিট করার জন্য আপনার পজিশনও সামঞ্জস্য করতে হতে পারে । তাদের সাইট থেকে কেবল একটি ড্যাশিকন বেছে নিন এবং নীচের সিএসএসে fXXXকোড যুক্ত করুন ।

#wpadminbar #wp-admin-bar-wpse .ab-icon:before {
    content: '\f306';
    top: 3px;
}

2

কায়সারের উত্তরে প্রসারিত করতে, আপনি একটি কাস্টম চিত্র URL টি দিয়ে আইকনটিকে ওভাররাইড করতে পারেন এবং স্টাইলগুলিকে ইনলাইন (অথবা আপনি চাইলে আলাদাভাবে আলাদা করতে পারেন) উদাহরণস্বরূপ। একটি 22px x 22px আইকন ...

$iconurl = '/images/custom-icon.png';

$iconspan = '<span class="custom-icon" style="
    float:left; width:22px !important; height:22px !important;
    margin-left: 5px !important; margin-top: 5px !important;
    background-image:url(\''.$iconurl.'\');"></span>';

$title = __( 'Example', 'some-textdomain' ),

তারপরে শিরোনাম মানের জন্য ব্যবহার করুন:

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