Het creëren van een eenvoudige CRM - wordpress: gebruik van functionele

, het creëren van een eenvoudige relatiebeheer wordpress functie:,,,,,,,,,, 50, aandelen, 23,,,,,,, de delen van het netwerk, maandag wat tuts + zal verminderen... In maar drie dollar.Niet' dit artikel niet missen, maken deel uit van een reeks genaamd in wordpress tot een eenvoudige CRM. Tot wordpress eenvoudig: beperking van CRM /verbergen niet van het beheer van de menu 's, we hebben gezien hoe de oprichting van een eenvoudige CRM - systeem in je.In het laatste deel van deze reeks, we bespreken hoe de toegang van de gebruikers tot te beperken door gebruik te maken van de rol van het deel van de interface wordpress.,, vandaag bespreken we hoe de beperking van de toegang tot de enige gewoonte in dit soort contacten met eigen functie, omschreven taken, en we nog minder Toegang tot ons niveau wordpress gebruikers, de hun toegewezen aan de redactie of de schrijver van de rol van de gebruiker kan nog steeds, beheer van posten en opmerkingen.Deze functies zijn nuttig voor ons, dus we moeten nog verder te beperken, om de aanwijzing van de gebruikers hebben toegang tot de gewoonte in dit soort contacten.,, kunnen we door de registratie van gewoonte:,, het vermogen van onze gewoonte in dit type, het creëren van een nieuwe verdeling van de rol van de gebruiker Alleen wordpress, onze nieuwe functie van deze rol. Het creëren van /redacteur wordpress gebruiker, worden ze aan de nieuwe rol van de contacten van de registratie, het functioneren en het type in onze gewoonte, geregistreerde omschreven taken, kunnen we de definitie van de rol van de latere wordpress (s) als voorbeeld voor de toegang tot Deze functie, is een auteur kan de oprichting van een nieuw contact.,, laten we bewerken ons de dossiers van de  , register_post_type (),   functie, en de vervanging van  , capability_type = > "Na de volgende:,,,  'capabilities "= > - (" edit_others_posts "= > de edit_others_contacts",'delete_others_posts "= > de delete_others_contacts",'delete_private_posts "= > de delete_private_contacts",'edit_private_posts "= > de edit_private_contacts",'read_private_posts "= >" read_private_contacts ",'edit_published_posts" = > de edit_published_contacts ",'publish_posts" = > de publish_contacts ",'delete_published_posts" = > de delete_published_contacts ",'edit_posts" = > de edit_contacts ",'delete_posts" = > de delete_contacts ",'edit_post" = > de edit_contact "," read_post "= > de read_contact", "delete_post" = > de delete_contact ")," map_meta_cap "= > waar dat EuropaR  , register_post_type (),   functie moet nu kijken, /* * * * * * * * * -, post - registers a gewoonte die contact * /functie register_custom_post_type () {register_post_type ('contact', - ('labels'=> - (naam => _x ('Contacts','post - algemene naam,'tuts-crm'),'singular_name'=> _x ('Contact','post; - enkele naam,'tuts-crm'),'menu_name'=> _x ('Contacts','admin menu','tuts-crm'),'name_admin_bar'=> _x ('Contact','add nieuwe op. Bar','tuts-crm'),'add_new'=> _x ('Add ",'contact','tuts-crm'),'add_new_item'=> __ ('Add New Contact','tuts-crm'),'new_item'=> __ ('New Contact', nietUts CRM "),'edit_item" = > __ ("bewerken" contact "boe",'view_item CRM) "= > __ (contacten", "boe",'all_items CRM) "= > __ (" alle contacten "," customer Relationship management ","'search_items tut) = > __ ("contact zoeken", "Training",'parent_item_colon CRM) "= > __ (verband met de ouders:", "een CRM -"),'not_found "= > __ (geen contacten.", "een CRM -"),'not_found_in_trash "= > __ (geen contact afval vinden.", "een CRM -")) ///////has_archive, de voorkant van de "= > valse, van een" openbare "= > Sham," publicly_queryable "= > het beheer van het vermogen van de valse, ///////= > - (" edit_others_posts "= > Edit_others_contacts ",'delete_others_posts" = > de delete_others_contacts ",'delete_private_posts" = > de delete_private_contacts ",'edit_private_posts" = > de edit_private_contacts ",'read_private_posts" = > de read_private_contacts ",'edit_published_posts" = > de edit_published_contacts ",'publish_posts" = > de publish_contacts ",'delete_published_posts" = > de delete_published_contacts ",'edit_posts" = > de edit_contacts ",'delete_posts" = > de delete_contacts ",'edit_post" = > de edit_contact "," read_post "= > de read_contact", "delete_post" = > de delete_contact ")," map_meta_cap "= > echt," menu_icon "= > de dashicons zakenman."Menu_position" = > 10, "query_var" = > echt, "show_in_menu" = > echt, "show_ui" = > echt, "steun" = > - (titel,'author ",'comments");}),,,, dan gebeuren er twee dingen:,, de definitie van eigen vermogen, met  , capaciteit,   argument, gekoppeld aan de desbetreffende posten.Dit begrip is om ervoor te zorgen dat de wordpress capaciteit (d.w.z.  , bedoel edit_contact,   zijn, en  , edit_post,   mogelijkheden, maar het is onze gewoonte in dit soort contacten), dat we op de kaart naar de wordpress wordpress vermogen van de oorspronkelijke functie van het gebruik van   map_meta_cap,,,, Dus ze uitvoeren. Het beheer, wordpress elke gebruiker, zal je zien dat we contact op het type van het menu is wordpress verdwenen:,,,,,, en dat is omdat wij nu moeten zeggen dat wij de rol van je nieuwe vaardigheden (,,, edit_contact, edit_contacts,  , enz.), een te creëren. De nieuwe verdeling van de rol van de gebruiker alleen wordpress, onze nieuwe aangepaste functies, het gebruik van het  , add_role (),We kunnen het creëren van een nieuwe verdeling van de rollen van de wordpress gebruikers onze vaardigheden, het.De rol van de opslag van gegevens is in je opties, dus we hoeven het alleen maar te laten voor de functie van een.,, om dit te doen, door toevoeging van de volgende functies __construct () aan het einde van de  , onder de plug - in   functie:,, /* * * * * * * de activering van de registratie van een nieuwe rol van de haak en distributie van onze in verband met de functie van plugin_activation () {////////de functie van de definitie van de functies van onze gewoonte, customcaps dollar = - ('edit_others_contacts "= > waar,'delete_others_contacts" = > waar,'delete_private_contacts "= > waar,'edit_private_contacts" = > waar,'read_private_contacts "= > echt en'edit_published_contacts" = > de echte,'publish_contacts "= > waar,'delete_published_contacts" = > waar,'edit_contacts "= > de echte.'delete_contacts "= > waar,'edit_contact" = > waar,'read_contact "= > waar,'delete_contact" = > echt lezen = > waar,); ///////- creëren we de rol en de verdeling van de functie van het gebruik, add_role (CRM, __ ("CRM, CRM - tut), customcaps dollar);}, deze functie zal de toevoeging van een nieuwe rol - wordpress noemen.Aan de rol van de gebruikers hebben toegang tot de functie van de contactpersoon.Dus, ze alleen toegang hebben tot de gewoonte in dit soort contacten.,, zullen we ook   kennisgeving, lezen,   voor deze rol.Dit is noodzakelijk, zodat de gebruiker redacteur van hun persoonlijke gegevens (naam, wachtwoorden, enz.).We moeten de gebruikers doen, want als ze inloggen, wordpress zal automatisch leiden tot de configuratie van het scherm. En, als we het niet aangewezen  , lezen,   vermogen. Dit is het geval in de gebruikers registreren, zou zeggen:,,,,,, die ons  , plugin_activation (), een   functie. Dat is de volgende code toe te voegen aan onze dossiers aan het einde van de register_activation_hook (,, __file__ array (& wptutscrm dollar "plugin_activation"); het vertellen, wordpress « moet noemen, de activering van  , plugin_activation (),   functie in ons  , wptutscrm,   klasse.,, het creëren van een redacteur van de gebruiker /wordpress, zullen ze aan de nieuwe rol van de contacten, de volgende, opnieuw te activeren, gestaakt en van de « plug­in », en vervolgens door de huishoudens, met de toevoeging van een nieuwe wordpress >Voor het beheer van de interface, als alles vlot.,, zie je de nieuwe rol die op de lijst van CRM:,,,,,, laten we beginnen met het creëren van een nieuwe gebruikers, de CRM - en log, nieuwe gebruikers.We moeten nu zien we, contacten, en, het dashboard, en de contouren van het menu:,,,,,,,, een gewoonte die de andere rol van enige functie, als we de annulering en log weer een wordpress administrateur, bewerking of de auteur, vind je contactpersoon op het type is nog steeds uit. Het menu,,,,,, de vermiste: dit is omdat we alleen de aangewezen  , CRM,   rol van het vermogen van de soorten contact met ons op.Dus, de rol van alle andere gebruikers nog steeds geen toegang tot deze soorten banen.,, om dit probleem op te lossen, laten we op bepaalde functies van de functie van de rol van de   beheerder en bewerking door toevoeging van de volgende codes, van de  , plugin_activation (), een einde te maken aan toegevoegd:,, ///////functie, de beheerder en de opmaak van de rol van de rol van $= - ("manager", "bewerken"); voor (dollar als de dollar /toegang tot de rol van rolename) {% effect = get_role ($rolename); ///////de rol van de inspectie of er (is_null (rol) {}) blijven gebruikmaken van onze gewoonte. //////////////, aan deze rol als mogelijk voor (customcaps $vermogen = > gesteld) {als ($gesteld) {///////toegevoegde capaciteit voor de rol van > add_cap (capaciteit);}}}Hier, we gaan, we willen wijzen, een functie van de rol, de rol van de inspectie.Als dat zo is, hebben we dan de functie van die gewoonte, als we de definitie, voegen ze bij de.,, zal je zien dat we nog geen gewoonte van de rol van de functie van de auteur; dit is, omdat we niet willen dat voor alle functionele, zoals de rol van de van oudsher slechts Toegang tot de gebruiker zelf mogen schrijven de post,, laten we verder gaan met de opbouw van ons  , plugin_activation (),   functie als de auteur van een functie van de rol toe: toevoeging van een gewoonte,, ///////de functie van de auteur, de rol van get_role dollar (= de auteur "); en de rol van add_cap (" > edit_contact "); en de rol van add_cap (>" edit_contacts "); en de rol van add_cap (" > publish_contacts "); en de rol van add_cap (" > read_contact "); en de Rol van add_cap (" > delete_contact "); UNSET ($ROle);,, onze hele functie moet nu is:,, /* * * * * * * - haak registratie van een nieuwe rol en de verdeling van de capaciteit van onze banden * * * * * * * plugin_activation () {////////de functie van de definitie van de functies van onze gewoonte, customcaps dollar = - ('edit_others_contacts "= > waar,'delete_others_contacts" = > echt,'delete_private_contacts; "= > waar,'edit_private_contacts" = > waar,'read_private_contacts "= > waar,'edit_published_contacts" = > waar,'publish_contacts "= > Waar,'delete_published_contacts" = > waar,'edit_contacts "= > echt,'delete_contacts" = > waar,'edit_contact "= > waar,'read_contact" = > waar,'delete_contact "= > echt lezen,= > waar,); ///////- creëren we de rol en de verdeling van de functie van het gebruik, add_role (CRM __ ",", "een CRM -"), customcaps dollar); ///////toevoeging op de functie, de beheerder en De opmaak van de rol voor de dollar - ("beheer". En "bewerken"); voor (dollar als de dollar /toegang tot de rol van rolename) {% effect = get_role ($rolename); ///////de rol van de inspectie of er (is_null (rol) {}) blijven; ///////gebruikmaken van onze gewoonte, aan de opening van deze rol als /voor $customcaps tot het vermogen = > $gesteld) {als ($gesteld) {///////toegevoegde capaciteit voor de rol van > add_cap (capaciteit); toevoeging van een aangepaste}}} ///////de functie van de rol, de functie van de auteur = gEt_role ("auteur"); en de rol van add_cap ("> edit_contact"); en de rol van add_cap ("> edit_contacts"); en de rol van add_cap ("> publish_contacts"); en de rol van add_cap ("> read_contact"); en De rol van add_cap delete_contact (">"); UNSET (rol);}, inloggen als beheerder, de redactionele of zullen zien in het menu 's contactpersoon wordpress opties:,,,,,, het schoonmaken van onze rol als beheerder van de « plug­in » we wordpress uitschakelen, de  , zal De rol van CRM,   wordpress.Echter, omdat er geen andere plug of een deel van het gebruik van deze rol wordpress, het overbodig is, dus we moeten ervoor zorgen dat de  , CRM,   verwijderd uit de plug uitgeschakeld.,, om dit te doen, door toevoeging van de volgende functies de volgende  , plugin_activation (),   functie:,, /* * * * * * * de inactivering van de haak de annulering van onze rol en functie van bestaande contacten plugin_deactivation () {remove_role (CRM - opleiding ");}, op dezelfde manier dat we met  , register_activation_hook (),   - ins geactiveerd, kunnen we gebruik maken van  , register_deactivation_hook (),   toen we van de « plug­in » uitgeschakeld.Laten we nog het volgende aan toevoegen  , register_activation_hook,   Tel.:,, register_deactivation_hook (__file__ array (& wptutscrm dollar "plugin_deactivation"); en, als we van de « plug­in » worden uitgeschakeld, we  , CRM,   rol niet langer beschikbaar.,, samengevat, zijn we erin geslaagd om In de met een eenvoudige CRM - systeem, het onderzoeken van aangepaste vormen van gebruik, en de derde partij na de dollar en de integratie van de « plug­in » opgeslagen over onze cliënten en potentiële cliënten, informatie, deze les is. Met betrekking tot een aantal van de meer geavanceerde wordpress, door de wp_list_table vermeld in de kolom van de gegevens op het gebied van geavanceerde zelf, de vraag na filtratie we zoeken de gewoonte de gegevens op het gebied van geavanceerde, het beheer van de toegang van de gebruikers tot de door de rol en de beperking van de mogelijkhedenOnze CRM, toegang tot het systeem.

Contacts Custom Post Type missing
Error message when read capability is not assigned to a Role
Our new WordPress Role





Previous:
Next Page: