मैंने इसे अधिक अर्थ देने के लिए फिर से शब्द दिया है।
ठीक है, मेरे पास एक प्लगइन है जो एक दूरस्थ सेवा का उपयोग करता है जो अपडेट के लिए जाँच करता है, डिफ़ॉल्ट वर्डप्रेस प्लगइन्स की तरह, इस मामले में यह सिर्फ एक एक्सएमएल फ़ाइल की जांच करता है।
मैं इस तरह से एक मेनू बुलबुला दिखाना चाहता हूं जब कोई अपडेट उपलब्ध होता है।
यह सिर्फ "1" या "अलर्ट" जैसे पाठ दिखा सकता है, इससे कोई फर्क नहीं पड़ता।
चूंकि मेरा प्लगइन एक विकल्प पृष्ठ का उपयोग करता है (उपयोग करते हुए add_options_page
) प्लगइन सेटिंग्स डिफ़ॉल्ट "सेटिंग्स" सबमेनू के तहत दिखाई देती हैं।
मुझे लगता है कि बुलबुला दिखाने के लिए मुझे निम्नलिखित सीएसएस जोड़ने की जरूरत है,
<span class='update-plugins count-1' title='title'><span class='update-count'>1</span></span>
और वैश्विक में टाई $submenu
। समस्या यह है कि मैं मेनू के लिए हार्ड-कोडित सरणी मान का उपयोग नहीं कर सकता क्योंकि प्रत्येक साइट में अलग-अलग मान होंगे।
इसलिए मैं उपयोग नहीं कर सकता $submenu[80][10] .= <span class='update-plugins count-1' title='title'><span class='update-count'>1</span></span>
मैं अपने प्लगइन्स सबमेनू मान कैसे पा सकता हूं, क्या मुझे सरणी के माध्यम से लूप करना है और स्ट्रिंग मानों से मेल खाना है?
इसके अलावा जब मैंने हार्ड-कोड किया, तो मुझे दिखाने के लिए बुलबुला नहीं मिला।
//adding plugin to menu
add_action('admin_menu', 'sec_plugin_checker');
function sec_plugin_checker() {
add_options_page(' Plugin Checker', 'Plugin Check', 'activate_plugins',
'sec_plugin_check', 'sec_checker');
// the conditional where I want the bubble to appear
if (!empty($matches)){
echo "Match found !<br />";
global $submenu;
foreach( $submenu as $item ) {
$item[41][20] = sprintf( __( 'Updates %s', 'sec_plugin_checker' ),
"<span class='update-plugins count-1' title='title'>
<span class='update-count'>1</span></span>");
}
}
और यहाँ एक var_dump($submenu);
जैसा दिखता है,
["options-general.php"]=>
array(9){
...
[41]=>
array(4) {
[0]=>
string(20) "Plugin Check"
[1]=>
string(16) "activate_plugins"
[2]=>
string(21) "sec_plugin_check"
[3]=>
string(23) " Plugin Checker"
...
}