Modifizieren Sie einen functionsfilter

Ich verwende die neueste Version von wp-ecommerce (3.89) und es wurde ein neuer Filter eingeführt, um den rollenbasierten Zugriff auf bestimmte Dashboard-functionen wie die Verkaufsseite oder die Upgrade-function zu ermöglichen. Die Standardrolle in der Core-Datei ist jedoch derzeit auf “Administrator” festgelegt.

Was ich tun möchte, ist, den Originalfilter zu nehmen und ihn zu modifizieren, indem ich den modifizierten Code in meine functionsdatei lege, um diesen zu übersteuern.

So, wie man das ändert: (aus der Plugin-Datei wp-ecommerce / wpsc-admin / admin.php

$purchase_logs_cap = apply_filters( 'wpsc_purchase_logs_cap', 'administrator' ); $page_hooks[] = $purchase_logs_page = add_submenu_page( 'index.php', __( 'Store Sales', 'wpsc' ), __( 'Store Sales', 'wpsc' ), $purchase_logs_cap, 'wpsc-purchase-logs', 'wpsc_display_purchase_logs_page' ); 

zu so etwas

 remove_filter('wpsc_purchase_logs_cap', 'administrator'); function sh_wpsc_admin_pages($purchase_logs_cap) { apply_filters( 'wpsc_purchase_logs_cap', 'editor' ); } 

Solutions Collecting From Web of "Modifizieren Sie einen functionsfilter"

Der Filter existiert, um die Notwendigkeit von Ersetzungen im Plugin-Code zu vermeiden .

Was Sie wahrscheinlich brauchen, ist:

 add_filter( 'wpsc_purchase_logs_cap', 'wpse_72095_admin_to_editor' ); function wpse_72095_admin_to_editor() { return 'edit_others_posts'; } 

Dies ändert die Fähigkeit / Rolle zum editor .