43 Comments

  1. Quinn Milionis
    March 24, 2020 @ 1:56 pm

    Hey, I’ve been enjoying this series. I’m curious how you get the colored/formatted error message table with a stacktrace on your page? I just get a dump of text which is harder to parse. Thanks!

    Reply

  2. Lukman Nakib
    March 24, 2020 @ 1:56 pm

    Really great tutorials <3 , one question what are benefits of not initializing the class if I may ask ? also I used only one file using spl_autoload_register to use namespace and autloading with out composer

    Reply

  3. Christian Gentry
    March 24, 2020 @ 1:56 pm

    Ok, I've compared my code to yours and I have it correct, however my admin link doesn't show up on the left….I've actually copied and pasted, then changed the name to my plugin name and it still doesn't show the admin page link on the left. What am I missing?

    Reply

  4. ivan cabral
    March 24, 2020 @ 1:56 pm

    I very like your code! Thanks for this video!

    Reply

  5. Luis Scura
    March 24, 2020 @ 1:56 pm

    Hi Alecadd! I have a question… at 6:15 min you moved the activate/deactivate methods from the main file and you commented.
    I don't understand why at 7:00 min those methods still working if you already commented them and you also didn't trigger anywhere.

    Reply

  6. Geoffrey
    March 24, 2020 @ 1:56 pm

    On the wordpress coding standards there is a requirement for class names to have class-description.php is there a way we can set this with psr4.

    Reply

  7. Awan Winz
    March 24, 2020 @ 1:56 pm

    really thanks for super nice learning. fast and clear.

    Reply

  8. Jacob Bengtsson
    March 24, 2020 @ 1:56 pm

    Hi! I have come this far without any major errors but now have got one that I don't know how to solve:

    Warning: require_once(/plugins/alecaddd-plugin/vendor/composer/autoload_real.php): failed to open stream: No such file or directory in /plugins/alecaddd-plugin/vendor/autoload.php on line 5

    Fatal error: require_once(): Failed opening required '/plugins/alecaddd-plugin/vendor/composer/autoload_real.php' (include_path='.:/opt/php71/lib/php') in /plugins/alecaddd-plugin/vendor/autoload.php on line 5

    I have tryed with your github files but the error doesn't go away. My website is on php 7.1 if that matter I dont know.
    Either way, thanks for a great turtorial!

    Reply

  9. Nospam Man
    March 24, 2020 @ 1:56 pm

    9:19 not sure why PascaleCase is commonly confused with cammelCase.. still, great tutorial as usual!

    Reply

  10. saeed akhshijan
    March 24, 2020 @ 1:56 pm

    really thanks for super nice learning. fast and clear.

    Reply

  11. PeeR
    March 24, 2020 @ 1:56 pm

    Hum… Not sure I understood it all cause after your video I tried to move the
    add_filter( "plugin_action_links_$this->plugin_name", array( $this, 'settings_link' ) );
    and all related functions to Admin.php and still don't have the "Settings" link on the plugins page…

    Reply

  12. Fahri Tursun
    March 24, 2020 @ 1:56 pm

    Hey Alex,
    It is a really very good job. Which code editor did you use in this video?
    Happy coding 😉

    Reply

  13. Mashal Saleem
    March 24, 2020 @ 1:56 pm

    Hi, I was having trouble with the code a bit. The site keeps giving me an error after I input:
    foreach (self::get_services() as $class) {

    $service = self::instaniate ($class);

    if (method_exists( $service, 'register')) {

    $service -> register();
    It works until public static function register_services() {}
    I've checked the syntax multiple times and have even copied the code from your lessons. Not sure what's going wrong here.

    Reply

  14. Salman Akram
    March 24, 2020 @ 1:56 pm

    which sublime package are you using for comment boxes?? 🙁

    Reply

  15. Will Riddle
    March 24, 2020 @ 1:56 pm

    What software do you use for creating your videos? This would really help me at work. Also, your videos are phenomenally clear and easy to follow. Thank you!

    Reply

  16. Rakesh Malakar
    March 24, 2020 @ 1:56 pm

    can we access, say, Admin class from Init as :
    use IncPages;
    .
    .
    return Admin:;class;

    Also, is it that we don't have to put "use…" because Init and Admin are inside the same namespace "Inc"?

    Reply

  17. Tanzim Ibthesam
    March 24, 2020 @ 1:56 pm

    hELLO i AM GETTING unexpected class error in Admin.php can anyone help?

    Reply

  18. priya sekar
    March 24, 2020 @ 1:56 pm

    Hey Alessandro,
    I tried this method but i can't get the admin_menu_page. Can u please tell me why ?

    Reply

  19. Edward Butter
    March 24, 2020 @ 1:56 pm

    I complety lost you already by the composer. I don't have acces to a terminal because I am hosting by mijndomein.nl.

    Reply

  20. Ernani
    March 24, 2020 @ 1:56 pm

    This way of setting up your workspace is definitely something. I would not use it personally but really gives you an insight. Using classes this way might get other devs confused. A very opinionated approach definitely. As its not a wordpress related. Specially for developers who just want to see how to create a plugin. Nevertheless thank you for your hard work!

    Reply

  21. pyrotechnick
    March 24, 2020 @ 1:56 pm

    This is driving me nuts, I have a super simple PHP/AJAX script that can't be more than 100 lines of code in all, and I was hoping I could easily convert it into a wordpress plugin, but it looks like this setup is way more complicated than my actual plugin is… :<

    Reply

  22. Not Found
    March 24, 2020 @ 1:56 pm

    Good video tutorials! very soon I'll create my first plugin. Your videos have motivated me!

    Reply

  23. Noël Flantier
    March 24, 2020 @ 1:56 pm

    Great approach IMO

    Reply

  24. STP Engineering
    March 24, 2020 @ 1:56 pm

    Ale, watch this:

    Se nel file Init.php lascio in alto un rigo vuoto prima dell'apertura del tag <php:
    https://i.postimg.cc/ZYDpZfkP/vuoto.jpg

    restituisce questo errore:

    Fatal error: Namespace declaration statement has to be the very first statement or after any declare call in the script in /app/public/wp-content/plugins/alecadd-plugin/inc/Init.php on line 7

    Se Tolgo quel rigo vuoto:

    https://i.postimg.cc/jqG6P88x/non-vuoto.jpg

    Work! … 2 ore per risolvere questo errore … pazzesco!

    Reply

  25. STP Engineering
    March 24, 2020 @ 1:56 pm

    mh … non mi piace questo splittare in tanti file. Ho saltato le modifiche del capitolo 10 e 11 e la mia stima nei tuoi confronti è scesa dal 100% al 99,9999999% – ahah –

    Reply

  26. ManuAlvarado22
    March 24, 2020 @ 1:56 pm

    This lesson was masterful!

    Reply

  27. Ron 68be
    March 24, 2020 @ 1:56 pm

    I toke your code from Github and wrote the code of this lesson. The Edit link in the admin area is definitely not present.

    Reply

  28. Marian Gabriel
    March 24, 2020 @ 1:56 pm

    Thanks a lot for these tutorials.

    Reply

  29. Malzatic YT
    March 24, 2020 @ 1:56 pm

    anyone else getting this?

    Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'IncPagesAdmin' does not have a method ' admin_index' in C:UsersCollinPhpstormProjectswordpresswp-includesclass-wp-hook.php on line 286

    Reply

  30. Nina Presotto
    March 24, 2020 @ 1:56 pm

    Keep the good job. Very clear explanations on this great video serie

    Reply

  31. Cyka Nuggets Bau
    March 24, 2020 @ 1:56 pm

    can you tell me why do you use array($this, admin_index), i mean why array? you can add one single callback to add menu page right?

    Reply

  32. Feng Shui Enthusiast
    March 24, 2020 @ 1:56 pm

    Um…this what nothing like what I was trying to do in previous tutorial (haha – I did try it on my own though). Its amazing how one parenthesis, quotation mark, or comma can take hours to discover and can throw the whole thing off. Thank you for this tutorial and including the Github files!

    Reply

  33. TCHOUTANG BANKOUE MICHEL FRANKLIN
    March 24, 2020 @ 1:56 pm

    Amazing !!! u are absolutely dope!! i'm eating ur tutos and i grow more in understanding this. i'm a new comer in wordpress and as i watch ur videos the more i realize the limitless things we can do with wordpress.

    But i'm also happy that i could ask u question & u'll try to answer them.

    Be blessed man! 🙂

    Reply

  34. Salvatore Esposito
    March 24, 2020 @ 1:56 pm

    It look Init act as a services container, is it right?

    Reply

  35. Chintan Mathukiya
    March 24, 2020 @ 1:56 pm

    hi, alecad i have created plugin according to your video
    https://drive.google.com/file/d/1ISgL9nPcLOAP_h7Yqmn8w_gFsKHjRg4G/view?usp=sharing
    at the point of video min 5 to 9 . i am not getting this kind of error and activation and deactivation are working fine
    can you help me to find out that i am going to right way or not.

    Reply

  36. bbunlock
    March 24, 2020 @ 1:56 pm

    thanks for the great tutorials, donation sent 🙂

    Reply

  37. Chintan Mathukiya
    March 24, 2020 @ 1:56 pm

    hi, alecad i have seen your this video series up to part-11 it's very useful for me and very interesting.
    now i want to develop plugin for woocommerce for send inquiry from shop page for any separate product without going to detail page of product.
    i want functionality like this http://dirghagrotech.com/product
    any recommendation for plugin or any development idea to develop this king of plugins please send the links.

    Reply

  38. R
    March 24, 2020 @ 1:56 pm

    camelCase is first letter lowercase, all other words first letter's are upper case … i think you meant PascalCase

    Reply

  39. KnowledgeBase
    March 24, 2020 @ 1:56 pm

    Also here, I did everything step by step and I can't see the admin pages icon on the left menu.

    Reply

  40. Timothy Carey
    March 24, 2020 @ 1:56 pm

    With this method of using services, how would I do the following?
    In the activate class I want to use my function that creates my database tables If they need to be created? , but there are so many tables that I'd like to add in a separate file. Can I just put this file into services array and then call the function from the activate? Actually I have it in a file, but I'm trying to change things over to object oriented programming and use services

    Reply

  41. RudyGayRaptors
    March 24, 2020 @ 1:56 pm

    I don't understand. Why in the aleccaddd-plugin.php
    we have to call the "class_exists" to check IncInit, instead of using "use IncInit" then at the bottom just call Init::register_service()?

    Reply

  42. Denis O'Brien
    March 24, 2020 @ 1:56 pm

    This is epic.

    Reply

  43. henrygunawan86
    March 24, 2020 @ 1:56 pm

    Great lesson! Very clean file structure and you are good at explaining it. I learn a lot from this.

    Reply

Please Login to post a comment

X

Forgot Password?

Join Us