Even though technically WordPress is a Content Management System (CMS), I think of it as a framework. It provides templating, caching, routing, database abstraction, etc.
If you want to be a WordPress developer you need to know PHP, obviously, but you also need know how WordPress uses PHP and get familiar with the “WordPress Way” of doing things. You don’t need to know Zend or Symfony.
Also, more and more of WordPress is being developed in JavaScript these days, so I would say that learning JS is a crucial part of being a WP dev.
One of the greatest things about WordPress is that it’s pretty well documented. You can view the official WP docs here. This is a great starting point. Beyond the official docs there is an unlimited wealth of knowledge on the web about WordPress.
Related Posts:
- integrating external php library into wordpress- the right way
- Use custom template on custom post type
- Sending the reset password link programatically
- Display all values of custom a field created with ACF on a page
- How do I directly access a PHP file located in my themes folder?
- wpdb::prepare was called incorrectly
- Only show div on homepage/blog index in wordpress/php
- WordPress the_content() return only one image from a specific category
- count number of user comments with a specific comment meta value
- Display all posts in current category
- file_exists() acting weird
- Remove “Remember Me” from login form
- Is it possible to use the featured image of a page as a css background without inlining?
- PHP syntax error when using wpdb update?
- Select dropdown not showing selected value php
- Woocommerce – How to get products which have a sale between 20% to 40%? [closed]
- Warning: array_pop() expects parameter 1 to be array, boolean given
- Woocommerce filter cart and category specific quantity [closed]
- How to migrate the posts from an old custom legacy blog to a new WordPress website?
- items_wrap not working
- Problem adding class to body_class
- Shortcode API: How to get name that matched shortcode RegEx?
- Using shipped version of jquery
- Run a filter when a walker runs
- Can’t search posts using WP_QUERY inside AJAX Function
- How do I Add HTML to the_excerpt() & the_content() Output?
- Display fields as values in array from external SQL DB
- User’s total comment count excluding comments on their own posts
- Is there a way to programmatically create multiple pages utilizing the same template but different content from a json file?
- Populate dropdown with Child Pages based on Parent Page chosen
- How can I remove a function that has been added to wordpress with add_filter?
- do search in two site and show the result in first site
- What’s the uses of wp_cache_set() or wp_cache_add()?
- How does wp_enqueue_scripts work?
- How to get post’s current parent term ID?
- Adding Taxonomy Image to taxonomy loop [closed]
- Use of wp_insert_post and parameters
- WordPress theme options error
- How would an if statement surrounding a custom field with two variables (holding values) look like?
- get_the_title() gets printed out twice
- Moving code from theme header to functions.php
- What does this mean in wordpress? Easy question
- How to get private property in parent class into extended class?
- Woocommerce Email attachments not working – file not being attached
- Best way to use a large array in function
- AJAX button action in foreach
- Add Codepen animation as Preloader to WordPress
- Setting user nickname and displayname to shortened email
- Error Uncaught ArgumentCountError i cant find it
- Loop stopped working
- WordPress wp-admin redirect and exception
- Use $wpdb or other PHP script method to find/replace in WP database
- Simple WordPress endpoint route doesn’t work
- Validate and Sanitize WP REST API Request using WP JSON Schema?
- How do I create a function that modifies a message in the wp-login.php file?
- HTML dropdown setting not showing last saved value in the database
- export a mysql table to csv with column headers
- Dynamically adding filters
- Reusable code that I can store in the function.php and apply to other templates as need. Dry Code
- Why when I create a new post I found 2 record related to this post into the posts database table?
- How can I tell which of my pages are single-view pages?
- Trying to display terms from custom taxonomy within function
- WP_Query for woocommerce products with a pattern as a post_title
- What’s wrong in my PHP code? I’m using WordPress Astra Theme and I can’t insert data into my SQL
- Displaying a List of Changes / Updates on the Website Publicly
- Get WooCommerce products with similar SKU
- 404 on old link after changing post url
- Dropdown category field inside repeatable metabox
- Ajax filter with loadmore button
- How to add Text before my Custom Term and hide it when empty
- how to fix Warning: A non-numeric value encountered in this specefic line of code
- Responsive loop with 3 columns inside row then 2 columns
- How To Get HTML Eelement From Another Page
- Set notification if is two product category in cart
- Cron job -many duplicate posts
- Annoying/confusing WordPress memory limit exhausted
- Reverse Cross-Sells (WooCommerce)
- Unexpected behavior when trying to manually install WordPress on macOS Sierra
- Allowing HTML elements in title widgets spacing problem
- how to call other plugins once custom post has been inserted
- Force ‘permanent’ post cache of shortcode results
- How to fix UpdraftPlus’s memory issue?
- Pull a div from one WordPress site into another WordPress site
- Are WordPress widgets cached?
- Can not manually create a database ( db, user, pass ) for a plugin
- Are widget arguments always set inside My_Widget::widget()?
- How to fix blank pagination links?
- Fatal error: Call to a member function get_results() on a non-object in on line 26
- Different image and background color depending on page type
- Inserting A Feed and Sidebar into an HTML Page
- How To: Simple domPDF Example
- Customise Author Page?
- Is there a way of displaying related posts from lowest hyrachical order (lowest child category to parent category)
- REST API custom endpoints for metaboxes
- Add default block css when the block has been added with php?
- How to initialise WP_Query on the basis of a specific meta_value and continue iterating rest?
- How to sort search result by post_title, then by post_content
- Custom Admin Menu Report for Specific User ID
- how can i link threejs in my functions.php file in understrap theme
- WordPress / PHP: Check if column has value and then check if value in array