Im folgenden Artikel wird gezeigt, wie der seit der WordPress-Version 4.9 entfernte Aktionslink Bearbeiten (engl. action link edit) im Adminbereich Plugins wieder sichtbar gemacht werden kann:
Füge zum Hinzufügen des Links zum Plugin-Editor hierfür folgenden Code in ein seitenspezifisches Plugin ein:
function aktionslink_edit( $actions, $plugin_file, $action_links = array(), $position = 'after' ) {
$link = array( $key => '<a rel="nofollow" href="plugin-editor.php?file=' . $plugin_file . '">Bearbeiten</a>' );
return array_merge( $actions, $link );
}
add_filter( 'plugin_action_links', 'aktionslink_edit', 10, 5 );
Möchtest du den Aktionslink Bearbeiten lieber an den Beginn der Aktionslinks stellen, ändere die Parameter in der Funktion array_merge()
wie folgt: array_merge( $actions, $link )
in array_merge( $link, actions )
:
Plugin-Icon hinzufügen
Eine andere Möglichkeit ist es, den Bearbeitungslink dem Action Hook 'after_plugin_row'
1 zu übergeben. Dies ermöglicht einen mehr Platz zum Hinzufügen des Plugin-Bildes.
Sofern bei der Plugin-Einreichung, für das offizielle Plugin-Verzeichnis von WordPress.org, ein Icon mitgegeben wurde, würde folgender Codeschnipsel das Icon des Plugins vor dem Aktionslink Bearbeiten laden:
function plugin_edit_action_link( $plugin_file, $plugin_data, $status ){
if ( ( ! is_multisite() || $screen->in_admin( 'network' ) ) && current_user_can( 'edit_plugins' ) && is_writable( WP_PLUGIN_DIR . '/' . $plugin_file ) ) {
$asset_icon = 'https://ps.w.org/' . $plugin_data['TextDomain'] .'/assets/icon-128x128';
$img = '<img width="30px" src="' . $asset_icon . '.png" onerror="this.onerror=null;this.style.opacity=0;this.src=\'' . $asset_icon . '.jpg\'">';
$edit_action_link = '<a rel="nofollow" href="plugin-editor.php?file=' . $plugin_file . '" class="edit" aria-label="' . esc_attr( sprintf( __( 'Edit %s' ), $plugin_data['Name'] ) ) . '">' . __( 'Edit' ) . '</a>';
echo '<tr><td class="custom">' . $img . '</td><td colspan="2" class="custom">'. $edit_action_link . '</td></tr>';
}
}
add_action( 'after_plugin_row', 'plugin_edit_action_link', 10, 3 );
Styles hinzufügen
Damit der Bereich Plugin übersichtlicher ist, kann optional folgendes CSS im Quelltext des Admin-Bereiches hinzugefügt werden:
function add_style_plugin_php(){
echo '<style>
.update-message {
background: transparent;
border-left: 0;
margin: 0;
padding: 0 0 0 4.5em;
}
tr.plugin-update-tr {
background: rgb(255, 248, 236);
}
.update-message,
.plugin-install #the-list td,
.plugins .active td,
.plugins .active th,
.plugins .inactive td,
.plugins .inactive th,
.upgrade .plugins td,
.upgrade .plugins th,
.plugins .plugin-update-tr .plugin-update {
box-shadow: none;
}
tr:not(.update)+tr td.custom,
td.plugin-update {
border-bottom: 1px solid #cdcdcd;
vertical-align: middle;
}
tr.active+tr td.custom:first-child {
border-left: 4px solid #00a0d2;
}
tr.active+tr td.custom {
background:rgb(247, 252, 254);
}
</style>';
}
add_action( 'admin_head-plugins.php', 'add_style_plugin_php' );
Anschließend würde der Bereich Plugins wie folgt aus sehen:
Credits
- 1↑ Code Reference:
do_action( 'after_plugin_row', string $plugin_file, array $plugin_data, string $status )
: