Test Eklentimi etkinleştirdiğimde, yönetici panelinde bir uyarı görüntülemeye çalışıyorum. Bunu nasıl görüntüleyebilirim? Birisi bu yöntemi biliyor mu?WordPress: Eklenti Etkinleştirmesi'nde yönetici panelinde nasıl uyarı görüntülenir?
cevap
, 'admin_notices' kanca doğrudan kullanılamaz, çünkü bir yönlendirme var. Bir geçici çözüm, bildiriminizi seçenekler tablosunda saklamak ve bir dahaki sefere kontrol etmektir. Ayrıca, eklenti yükseltmelerini ve aktivasyonları da kapsamak istiyorsanız, 'admin_init' (WP 3.1, bkz. http://make.wordpress.org/core/2010/10/27/plugin-activation-hooks/) gibi başka bir kanca kullanmanız gerekecektir.
Hem etkinleştirmeyi hem de yükseltmeyi işleyen eksiksiz bir örnek eklenti. Ertelenmiş bildirimi bir dizi yaptım, böylece onları biriktirebilirsiniz.
<?php
/*
Plugin Name: My Plugin
*/
register_activation_hook(__FILE__, 'my_plugin_activation');
function my_plugin_activation() {
$notices= get_option('my_plugin_deferred_admin_notices', array());
$notices[]= "My Plugin: Custom Activation Message";
update_option('my_plugin_deferred_admin_notices', $notices);
}
add_action('admin_init', 'my_plugin_admin_init');
function my_plugin_admin_init() {
$current_version = 1;
$version= get_option('my_plugin_version');
if ($version != $current_version) {
// Do whatever upgrades needed here.
update_option('my_plugin_version', $current_version);
$notices= get_option('my_plugin_deferred_admin_notices', array());
$notices[]= "My Plugin: Upgraded version $version to $current_version.";
update_option('my_plugin_deferred_admin_notices', $notices);
}
}
add_action('admin_notices', 'my_plugin_admin_notices');
function my_plugin_admin_notices() {
if ($notices= get_option('my_plugin_deferred_admin_notices')) {
foreach ($notices as $notice) {
echo "<div class='updated'><p>$notice</p></div>";
}
delete_option('my_plugin_deferred_admin_notices');
}
}
register_deactivation_hook(__FILE__, 'my_plugin_deactivation');
function my_plugin_deactivation() {
delete_option('my_plugin_version');
delete_option('my_plugin_deferred_admin_notices');
}
GÜNCELLEME: yerine update_option()
ait set_transient()
kullanmak ve doğru yönetici kullanıcıya mesajların yönlendirildiği ortak bir yol bulunmaktadır. Bu mesaj endişeleri Metabokslar, aktivasyon eklentisi değil, ama teknikleri bildiğim kadarıyla, hemen hemen her yerde Dashboard da aynı şekilde çalışacaktır: https://wordpress.stackexchange.com/questions/15354/passing-error-warning-messages-from-a-meta-box-to-admin-notices
Sadece bir <div class='updated'>
kullanın. Örneğin -
echo "<div class='updated'>Test Plugin Notice</div>";
Sen show_wp_pointer_admin_bar
kullanarak yönetici işaretçileri ne denir oluşturmak için yeni yönetici bildirimleri kullanabilirsiniz.
Linky: http://wpengineer.com/2272/how-to-add-and-deactivate-the-new-feature-pointer-in-wordpress-3-3/
Bildirimlerinizi eklemek için uygun yolu admin_notices
eylem için kanca onu yankı etmektir: eklenti aktivasyonlar için
function wpse8170_admin_notice(){
echo '<div class="updated"><p>This is my notice.</p></div>';
}
add_action('admin_notices', 'wpse8170_admin_notice');
Ancak, eklenti aktivasyonunda soru olarak görünmüyor. – Progrock
Bu fark ediyoruz
function your_admin_notice(){
echo '<div class="updated">
<p>I am a little yellow notice.</p>
</div>';
}
add_action('admin_notices', 'your_admin_notice');
Ama eğer göstermek için çok basit Sona erdirilebilir bir Uyarı göstermek istediğinizde
add_action('admin_notices', 'example_admin_notice');
function example_admin_notice() {
global $current_user ;
$user_id = $current_user->ID;
/* Check that the user hasn't already clicked to ignore the message */
if (! get_user_meta($user_id, 'example_ignore_notice')) {
echo '<div class="updated"><p>';
printf(__('This is an annoying nag message. Why do people make these? | <a href="%1$s">Hide Notice</a>'), '?example_nag_ignore=0');
echo "</p></div>";
}
}
add_action('admin_init', 'example_nag_ignore');
function example_nag_ignore() {
global $current_user;
$user_id = $current_user->ID;
/* If user clicks to ignore the notice, add that to their user meta */
if (isset($_GET['example_nag_ignore']) && '0' == $_GET['example_nag_ignore']) {
add_user_meta($user_id, 'example_ignore_notice', 'true', true);
}
}
ve bu bildirimi belirli bir sayfada göstermek istiyorsanız aşağıdaki koşulları deneyin.
function my_admin_notice(){
global $pagenow;
if ($pagenow == 'plugins.php') {
echo '<div class="updated">
<p>This notice only appears on the plugins page.</p>
</div>';
}
}
add_action('admin_notices', 'my_admin_notice');
Bunu doğru şekilde görüyorum, görüntülemek istediğim her mesaj için bir geri arama işlevi oluşturmam gerekiyor mu? Hata mesajının ne olduğunu belirten bir parametre alan bir işlevi nasıl oluşturabilirim? – majikman
Tamam, hata mesajını görüntülemek istiyorsanız, aslında başka bir yol var. admin_notice parametresini parametreyle görüntülemek için buraya en fazla cevabı deneyebilirsiniz. Ayrıca, aşağıdaki bağlantılardan bir yol bulabilirsin: http://stackoverflow.com/questions/1242328/wordpress-displaying-an-error-message-hook-admin-notices-fails-on-wp-insert-p –
Ben amarkal-admin-notification geliştirdik - statik/kapatılabilen yönetici bildirimlerini eklemenize izin verir ve sizin için görevden işleyen bir senaryo. Bu betik Amarkal WordPress çerçevesinde bir modüldür. i (etkinleştirdikten sonra) bildirinin config linke tıklayın Bu bildirim kaybolur gibi istediğim
amarkal_admin_notification('my-error-notice', __('Oh snap! This is an <strong>error</strong> message.','slug'), 'error');
- 1. Prestashop yönetici panelinde yeni sayfa nasıl oluşturulur?
- 2. WordPress - eklenti ile eklenti oluşturma
- 3. Wordpress arama sonuçları nasıl görüntülenir?
- 4. Yönetici panelinde görünüm denilen ek bir düğme alabilir miyim?
- 5. Wordpress Hatası - Uyarı: Üstbilgi bilgileri değiştirilemiyor
- 6. WordPress Alt sorgu özel Wordpress eklenti tarafından SELECT'in
- 7. WordPress kendi eklentisi ile eklenti fonksiyonunu değiştirin
- 8. , yönetici admin
- 9. Kaynak panelinde
- 10. Temanın işlevleri içinde eklenti işlevi nasıl geçersiz kılınacak? Wordpress
- 11. Wordpress tarafından yapılan tüm veritabanı sorguları nasıl görüntülenir?
- 12. WordPress - otomatik Nasıl otomatik (örneğin, eklenti etkinleştirildiğinde) bir WordPress sayfası oluşturmak için sayfayı
- 13. Bir sekme panelinde
- 14. Yönetici ürün sayfalarında özel alan Kart ve kasada görüntülenir
- 15. wordpress-menüler çok düzeyli menüler gibi
- 16. list_display. Seçimlerden değer nasıl görüntülenir?
- 17. Kök için bash_history nasıl görüntülenir?
- 18. Plesk Yönetici Paneli nasıl güvenli hale getirilir?
- 19. Eklenti Görüntüye Ekle WordPress'e Yaz
- 20. Django yönetici listesi filtresi
- 21. WordPress Ajax Çağrı - WordPress Kullanıcı Kimliği
- 22. Ekstralar'da tarih ve saat nasıl görüntülenir
- 23. Wordpress header.php içinde Wordpress
- 24. nasıl wordpress yönetici kenar çubuğundan bir mesaj bölümüne nasıl kaldırılacağını merak
- 25. Wordpress media yükleme ilave alan
- 26. Joomla - Herhangi bir eklenti yüklenemiyor/güncellenemiyor - İzinler?
- 27. Wordpress:
- 28. WordPress
- 29. wordpress
- 30. Jenkins Chuck Norris Eklenti
Bu iyi görünüyor, benim tek yorumum yeni bir bildirim eklediğiniz kısımda KURUTMA olacaktır. – pguardiario
Yep, üç satır '$ notices = get_option (...); $ Bildirimler [] = ...; update_option (..., $ notices) 'genel amaç' my_plugin_add_notice() 'işlevine göre soyutlanabilir. Bunu genellikle 'nota' ve 'hata' için bir parametre ile görürsünüz.Ardından, daha sonra yeniden oluşturma işlevi, doğru hatırlıyorsam, css sınıfı 'update' veya 'error' kullanarak, WP modasında mavi veya kırmızı bir başlık olarak görüntüler. – kitchin