создает меню настроек плагинов WordPress при активации - PullRequest
0 голосов
/ 05 августа 2011

Здесь я хочу иметь при активации моих плагинов WordPress активацию

до активации

Activate | Edit | Delete

После активации

Settings | Edit | Delete

Как это можно сделать в коде, чтобы добавить это меню?

Ответы [ 3 ]

3 голосов
/ 05 августа 2011

Я лично использую следующий фрагмент кода для добавления новых ссылок на действия.Я нашел это в другом месте и изменил по мере необходимости.

function my_plugin_admin_action_links($links, $file) {
    static $my_plugin;
    if (!$my_plugin) {
        $my_plugin = plugin_basename(__FILE__);
    }
    if ($file == $my_plugin) {
        $settings_link = '<a href="options-general.php?page=my_admin">Settings</a>';
        array_unshift($links, $settings_link);
    }
    return $links;
}

add_filter('plugin_action_links', 'my_plugin_admin_action_links', 10, 2);
1 голос
/ 05 августа 2011

Существует фильтр для plugin_action_links, который вы можете установить специально для своего плагина, чтобы добавить ссылки действий для своего плагина на странице плагинов

Подробнее об этих блогах:

0 голосов
/ 02 ноября 2018

В списке плагинов есть два типа ссылок. Взято из

http://atiblog.com/wordpress-plugin-development/

enter image description here

Используйте следующий код в вашем классе.

Для типа 1:

add_action( 'plugin_action_links_' . plugin_basename( FILE ),array($this,'plugin_links') );
function plugin_links( $links ) {
  $links = array_merge( array('' . __( 'Settings', 'textdomain' ) . ''), $links );  
return $links;
}

Для типа 2: используйте фильтр.

add_filter( 'plugin_row_meta', array($this,'plugin_row_meta_links'), 10, 2 );
function plugin_row_meta_links( $links, $file ) {
 $base = plugin_basename( FILE );
    if ($file == $base ) {
        $new_links = array(
                'donate' => 'Donate',
                                'doc' => 'Documentation'
                );
    $links = array_merge( $links, $new_links );    }    
  return $links;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...