Bird
Raised Fist0
Wordpressframework~10 mins

Why custom plugins solve unique needs in Wordpress - Test Your Understanding

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define a basic WordPress plugin header.

Wordpress
<?php
/*
Plugin Name: [1]
*/
?>
Drag options to blanks, or click blank then click option'
ATest Plugin
BHello World
CSample Plugin
DMy Custom Plugin
Attempts:
3 left
💡 Hint
Common Mistakes
Leaving the plugin name blank
Using a generic name that conflicts with other plugins
2fill in blank
medium

Complete the code to add a custom shortcode that outputs 'Hello, World!'.

Wordpress
function custom_shortcode() {
    return '[1]';
}
add_shortcode('greet', 'custom_shortcode');
Drag options to blanks, or click blank then click option'
AHello, World!
BWelcome!
CHi there!
DGoodbye!
Attempts:
3 left
💡 Hint
Common Mistakes
Returning a different greeting
Forgetting to return a string
3fill in blank
hard

Fix the error in the code to properly enqueue a custom stylesheet in the plugin.

Wordpress
function enqueue_custom_styles() {
    wp_enqueue_style('[1]', plugin_dir_url(__FILE__) . 'style.css');
}
add_action('wp_enqueue_scripts', 'enqueue_custom_styles');
Drag options to blanks, or click blank then click option'
Astyle.css
Bcustom-style
Cstylesheet
Dmy-style
Attempts:
3 left
💡 Hint
Common Mistakes
Using the filename as the handle
Not using a unique handle
4fill in blank
hard

Fill both blanks to register a custom post type named 'book' with support for title and editor.

Wordpress
function register_book_post_type() {
    register_post_type('book', [
        'labels' => ['name' => 'Books'],
        'public' => true,
        'supports' => [[1], [2]]
    ]);
}
add_action('init', 'register_book_post_type');
Drag options to blanks, or click blank then click option'
A'title'
B'editor'
C'thumbnail'
D'comments'
Attempts:
3 left
💡 Hint
Common Mistakes
Including unsupported features like 'comments' or 'thumbnail' unnecessarily
Forgetting to include 'title' or 'editor'
5fill in blank
hard

Fill all three blanks to create a function that adds a custom admin menu page with the title 'Custom Plugin'.

Wordpress
function add_custom_admin_menu() {
    add_menu_page([1], [2], [3], 'custom-plugin', 'custom_plugin_page');
}
add_action('admin_menu', 'add_custom_admin_menu');
Drag options to blanks, or click blank then click option'
A'Custom Plugin'
B'manage_options'
C'Custom Plugin Title'
D'administrator'
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect capability strings
Mixing up page title and menu title

Practice

(1/5)
1. Why do WordPress developers create custom plugins instead of using only existing plugins?
easy
A. To add unique features that are not available in existing plugins
B. Because custom plugins are always faster than existing ones
C. To avoid updating WordPress core
D. Because WordPress does not support existing plugins

Solution

  1. Step 1: Understand the purpose of custom plugins

    Custom plugins are created to add features tailored to specific needs that existing plugins may not provide.
  2. Step 2: Evaluate the other options

    The other options are incorrect because custom plugins are not always faster, do not replace WordPress core updates, and WordPress supports many existing plugins.
  3. Final Answer:

    To add unique features that are not available in existing plugins -> Option A
  4. Quick Check:

    Custom plugins add unique features = B [OK]
Hint: Custom plugins = unique features not in existing plugins [OK]
Common Mistakes:
  • Thinking custom plugins are always faster
  • Believing WordPress core updates are avoided by plugins
  • Assuming WordPress lacks plugin support
2. Which of the following is the correct way to start a simple WordPress custom plugin file?
easy
A. Plugin: My Custom Plugin
B.
C.
D. Name: My Custom Plugin

Solution

  1. Step 1: Identify the correct plugin header format

    The correct way to start a WordPress plugin is with a PHP file containing a comment block with "Plugin Name:" inside PHP tags.
  2. Step 2: Check the options

    uses the correct PHP tags and comment block. Non-PHP tags like <php> or <plugin> are invalid. lacks the required plugin header comment.
  3. Final Answer:

    -> Option B
  4. Quick Check:

    Plugin header in PHP comment = D [OK]
Hint: Plugin starts with PHP and comment header 'Plugin Name' [OK]
Common Mistakes:
  • Using invalid XML-like tags instead of PHP
  • Omitting the plugin header comment
  • Not opening PHP tags properly
3. What will this simple plugin code do when activated?
<?php
/*
Plugin Name: Hello Plugin
*/
add_action('wp_footer', function() {
  echo '<p>Hello from custom plugin!</p>';
});
?>
medium
A. Add a new menu item in the WordPress admin
B. Show an error because add_action is used incorrectly
C. Display 'Hello from custom plugin!' at the bottom of every page
D. Nothing, because the function is missing

Solution

  1. Step 1: Understand the add_action hook usage

    The code hooks a function to 'wp_footer' which runs at the bottom of every page, outputting a paragraph with the message.
  2. Step 2: Analyze the function behavior

    The anonymous function echoes the message correctly, so the text appears in the footer of all pages.
  3. Final Answer:

    Display 'Hello from custom plugin!' at the bottom of every page -> Option C
  4. Quick Check:

    add_action('wp_footer') outputs message = A [OK]
Hint: add_action('wp_footer') outputs content in page footer [OK]
Common Mistakes:
  • Thinking add_action requires named functions
  • Confusing admin menu hooks with frontend hooks
  • Assuming no output without return statement
4. Identify the error in this plugin code snippet:
<?php
/*
Plugin Name: Faulty Plugin
*/
add_action('init', 'my_init_function');
function my_init_function() {
  echo 'Init function called';
}
?>
medium
A. Echoing output during 'init' hook can break headers
B. Function name is missing
C. add_action hook name is invalid
D. Plugin header comment is incorrect

Solution

  1. Step 1: Review the 'init' hook usage

    The 'init' hook runs early before headers are sent. Echoing output here can cause header errors or break page rendering.
  2. Step 2: Check other code parts

    The function exists and is correctly hooked. The plugin header and hook name are valid.
  3. Final Answer:

    Echoing output during 'init' hook can break headers -> Option A
  4. Quick Check:

    Output on 'init' hook breaks headers = A [OK]
Hint: Avoid echoing output on early hooks like 'init' [OK]
Common Mistakes:
  • Echoing output too early in WordPress lifecycle
  • Assuming all hooks allow direct output
  • Ignoring plugin header importance
5. You want to create a custom plugin that adds a shortcode to display a personalized greeting only to logged-in users. Which approach best solves this unique need?
hard
A. Add the greeting code directly in the theme's header.php file
B. Use an existing plugin that adds generic shortcodes without login checks
C. Modify WordPress core files to add the greeting feature
D. Write a plugin that registers a shortcode checking user login status and outputs greeting accordingly

Solution

  1. Step 1: Identify the requirement for a unique feature

    The need is a personalized greeting shown only to logged-in users, which requires custom logic.
  2. Step 2: Evaluate the options for best practice

    Write a plugin that registers a shortcode checking user login status and outputs greeting accordingly creates a plugin with a shortcode that checks login status, fitting the unique need. Use an existing plugin that adds generic shortcodes without login checks lacks login checks. Add the greeting code directly in the theme's header.php file mixes functionality with theme, which is not modular. Modify WordPress core files to add the greeting feature is bad practice as core files should not be changed.
  3. Final Answer:

    Write a plugin that registers a shortcode checking user login status and outputs greeting accordingly -> Option D
  4. Quick Check:

    Custom plugin with login check shortcode = C [OK]
Hint: Use shortcode with login check inside custom plugin [OK]
Common Mistakes:
  • Putting custom code in theme files instead of plugins
  • Modifying WordPress core files
  • Using generic plugins without needed logic
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard