Questions and Answers
- In WordPress, what is the Loop used to do?
- It displays a single page.
- It displays posts on an archive.
- It displays a single post.
- all of these answers
- Who owns the trademark for WordPress and WordCamp names and logos?
- WordPress Foundation (The WordPress Foundation owns and oversees the trademarks for the WordPress and WordCamp names and logos.)
- WordPress.com
- Matt Mullenweg
- Automattic
- What is the name of the open-source project that serves as a bug tracker and project management tool for WordPress?
- HackerOne
- Redmine
- Trac
- GitHub Issues
- The REST API is a simple way to get data in and out of WordPress over HTTP. Applications using the REST API should be written in which programming language?
- PHP
- any programming language that can make HTTP requests and interpret JSON
- Java
- Node.js
- How many minutes does it take to install WordPress according to the "Famous X-Minute Installation" instructions on WordPress.org?
- 5
- 30
- 15
- 10
- In WordPress, what is true of plugins?
- Plugins are available in free or premium (paid) versions.
- Plugins can extend WordPress core functionality.
- all of these answers
- Plugins add site-specific features.
- Akismet is a plugin that comes automatically installed with WordPress. What does it do?
- It connects your site to Google Analytics.
- It displays a blog feed from websites similar to yours.
- It protects your site from comment spam.
- It hardens site security by enforcing strong passwords.
- What would you do to improve your site's performance?
- Only load scripts and styles on pages where they are needed.
- Minify CSS and JavaScript files.
- all of these answers
- Use a CDN.
- The REST API utilizes which data format?
- YAML
- JSON
- TXT
- XML
- What color is the paragraph nested within the div?
- blue
- black
- red
- green
- Theme developers can take advantage of the Customizer API to give users a way to manipulate basic theme settings. The Customizer API is object-oriented and provides four main objects. What are they?
- widgets, containers, sections, settings
- containers, hooks, settings, styles
- panels, blocks, controls, settings
- panels, sections, controls, settings
- Which WordPress setting would you use to make page URLs look like `http://example.com/my-page/` instead of the default `http://example.com/?p=21/?`
- Writing
- Permalinks
- Pretty URLs
- Reading
- In WordPress, what is the block editor used for?
- cropping images in the media library
- injecting specialized scripts into the content area
- creating a site layout
- creating and laying out content
- Which of the following file types is NOT involved in translating WordPress?
- .po
- .pot
- .mot
- .mo
- What is the default priority for an action hook or filter?
- 10
- 15
- 0
- 5
- What's the primary difference between template tags prefaced with the **versus get_the**?
- Template tags prefaced with the \_ don't accept arguments.
- Template tags prefaced with the \_ can be used directly within a template.
- Template tags prefaced with the \_ display a value. Template tags prefaced with get_the return a value.
- Template tags prefaced with the \_ return a value. Template tags prefaced with get_the display a value.
- WP_Query is the WordPress query class that is used to fetch posts from the database. How would you create a new instance of this class?
- `$query = new query_posts();`
- `$query = new WP_Query();`
- `$query = query_posts();`
- `$query = get_posts();`
- What is a user role that is unique to WordPress Multisite?
- MU Admin
- Owner
- Super Admin
- Multisite Master
- Within the editor, blocks are rendered as JavaScript. How are blocks rendered on the front end of a site?
- as plain HTML
- as a React component
- as JavaScript comments
- as HTML comments
- Which of these is NOT a part of the internationalization and localization process?
- using a gettext function to wrap translatable strings when writing code
- installing/using the WordPress Multilingual Plugin
- using a tool like Poedit to parse source code and extract translatable strings into a POT file
- translators translating the POT file into a PO file, one for each language
- The REST API provides public data, which is accessible to any client anonymously, as well as private data available only after authentication. How could you ensure that no one can anonymously access site data via the REST API?
- Disable the REST API via the site's wp-config.php file.
- Use the `rest_authentication_errors()` filter along with the `is_user_logged_in()` conditional to limit access to logged in users.
- Use the `rest_authentication_errors()` filter along with cookie authentication to limit access to logged in users.
- Use the Disable REST API plugin.
- Which of these snippets represents a wrapper that calls jQuery safely and doesn't require repetitive use of the word "jQuery"?
- .
- .
- .
- .
- What is the correct order of parameters for the add_action() function?
- `add_action( 'example_hook', 'example_function', $accepted_args, $priority )`
- `add_action( 'example_function', 'example_hook', $priority, $accepted_args )`
- `add_action( 'example_hook', 'example_function', $priority, $accepted_args )`
- `add_action( 'example_function', 'example_hook', $priority )`
- You have a search bar on your site. You would like to use a `
- Assign an ARIA state of "hidden" to the label, like this: ` `
- Use the built-in WordPress CSS class .screen-reader-text to hide the text from screen, like this: ` `
- Create a custom CSS class to set a large negative value to the text-indent property to hide the text off screen, like this: ` `
- The majority of users do not require a screen reader. Remove the label entirely.
- You might see this code in a WordPress plugin. What does it do?
- This is how WordPress detects a plugin's presence. This ensures that the plugin is running from the /wp-content/plugins/ directory. If it is not, the plugin should not run.
- This is a way to prevent naming collisions. ABSPATH is the absolute path to the plugin's directory. If ABSPATH is defined by another WordPress plugin with the same directory slug, the plugin should not run.
- This is a security measure. ABSPATH is the absolute path to the WordPress directory. If the file is called directly, ABSPATH will not be defined and therefore the plugin should not run.
- This is a compatibility checker. ABSPATH is defined in WordPress core. The plugin checks that the minimum version of WordPress needed to support the plugin is installed. If it is not, the plugin should not run.
- Which is a best practice for working with WordPress CSS?
- Use !important next to styles if they don't give you the result you want.
- Use hyphens in class names.
- Use spaces to indent each property.
- Avoid CSS shorthand for proper documentation.
- WordPress is translated, at least partially, in more than 200 locales. If you wanted to help translate WordPress into other languages, which contributor group would you join?
- core
- polyglots
- accessibility
- documentation
- What is the difference between an action and a filter?
- Actions are used to add custom functions and remove WordPress functions. Filters are used to make strings translatable for localization.
- Actions are used to add or remove code at runtime. Filters are used to modify data before it is either displayed in the browser or saved to the database.
- Actions are used to assign values to variables at runtime. Filters are used to extract data from actions and display it in the browser.
- Actions are used to add user-inputted data to the database. Filters are used to validate user-inputted data prior to adding it to the database.
- If you activate or update a plugin and it breaks your site so that you cannot manage it via wp-admin, how can you disable the plugin?
- all of these answers
- Access the WordPress install via WP-CLI. Run the following command: wp plugin deactivate offending-plugin.
- Access site files via FTP and navigate to /wp-content/plugins/. Delete the folder of the plugin that you would like to disable or simply rename it.
- Use phpMyAdmin to change the wp_options table's active_plugins option value to a:0:{}.
- The WordPress REST API is designed to receive and respond to particular types of requests using basic HTML methods. For example, a request to upload a PHP file into a particular folder on a server might look like the code POST `/folder/_file.php`. Based on this code, what would you call /folder/\_file.php (in REST API terms)?
- schema
- route
- response
- request
- Which WP-CLI command would you use to manage the capabilities of a user role?
- wp admin
- wp manage
- wp cap
- wp role
- What technique would you use to secure data before rendering it to a user?
- escape and sanitize
- validate and escape
- validate and sanitize
- escape and secure
- If your WordPress site is seriously compromised, what is the best course of action to return your site to good health?
- Determine the date of the attack and restore your site to a backup point prior to that date.
- Hire a third-party service to clean up your site because it is difficult for someone who is not a WordPress security expert to find and remove all traces of an attack.
- Manually delete suspicious files on the server and delete any database tables that are not core WordPress.
- Change your hosting password, your WordPress admin password, and your database password.
- If you wanted to register a custom post type, which hook would you use?
- register_post_type
- add_meta_box
- wp_head
- init
- What is the role of a WordPress theme?
- controls colors, fonts, and page layouts
- adds accessibility enhancements such as keyboard navigation and skip links
- ensures a site is mobile responsive
- all of these answers
- What is the core mission of WordPress?
- to make free software
- to democratize publishing and the freedoms that come with open source
- to make money
- to encourage blogging
- Which of the following is NOT a suggested security improvement for your WordPress website?
- The site should communicate with WordPress.org.
- Remove inactive themes.
- Do not output debug information.
- WordPress updates are accomplished manually only.
- How can you add a custom script that needs to run only on the contact page of a site? The slug of the page is contact.
- Link to the script directly from a template named page-contact.php, like this:
- Where can you find the official WordPress documentation and usage guide?
- `support.wordpress.com`
- `developer.wordpress.com`
- `developer.wordpress.org`
- `support.wordpress.org`
- How would you use CSS to ensure your theme was mobile responsive?
- Use CSS grid to create responsive layouts.
- Use media queries to add breakpoints for different screen sizes.
- Use Flexbox to create flexible page layouts.
- all of these answers
- The Block API enables developers to register custom blocks in themes or plugins. How would you register a custom block?
- Use the registerBlockName() function.
- Use the createGutenBlock() function.
- Use a block template.
- Use the registerBlockType() function.
- Which software development principle, often used in WordPress, aims to reduce the repetition of code?
- RRR
- WET
- DRY
- KISS
- In a standard template file, how often does the WordPress Loop run?
- It runs once per post in the database.
- It runs once.
- The Loop doesn't run in template files.
- It runs once per fetched post.
- Which is NOT a suggested performance improvement for your WordPress website?
- The site should run the most recent version of WordPress.
- Remove or inactivate unnecessary plugins.
- UTF8 is supported.
- Choose a very recent version of PHP.
- On a regular WordPress install, what is the difference between transients and the object cache?
- Transients are persistent and write to the wp_options. The object cache persists only for the particular page load.
- Transients are stored in the WordPress database. The object cache is stored on the server where the WordPress install is located.
- Transients are available for the duration of a user session and apply to all page components. The object cache is available only for scripts.
- Transients persist only for the particular page load. The object cache is persistent and writes to the wp_options table.
- You can harden your WordPress site security by adding `__` to your wp-config.php file?
- database usernames and passwords
- unique keys and salts
- accessibility
- documentation
- According to WordPress PHP coding standards for inline comments, how would you write a single-line comment in a PHP document?
- `// This is a single line comment`
- `/\* _ This is a single line comment._/`
- `// This is a single line comment.`
- ``
- If you have pretty permalinks enabled on a WordPress site, the REST API index is exposed by appending what to the end of the site URL? (for example, http://example.com/answer/) Note that the index provides information regarding which routes are available for that particular WordPress install.
- `http://example.com/wp-json/`
- `http://example.com/wp-admin/`
- `http://example.com/wp-rest/`
- `http://example.com/wp-rest-api/`
- What is the process of marking the code you write so that it is ready for translation?
- internationalization
- localization
- translation
- using GlotPress
- In your wp-config.php file, you've added the following line of code. What does it do?
- prevents any non-admin user from directly editing theme or plugin files
- disables the theme and plugin editor in the WordPress admin
- disables the ability to edit core WordPress files from either within the WordPress admin or via direct file access
- sets read-only permissions on all files in the WordPress install
- Which of the following must have underlined links in order to meet WCAG 2.0 accessibility standards?
- links on images
- links in user interface controls
- links in a nav bar
- links in paragraph text
- In which of the following ways might you contribute to the WordPress community by testing?
- user testing
- all of these answers
- beta testing
- automated testing
- WordPress is an open-source software licensed under the GPL. This means that `__`.
- derivative works must also be licensed as GPL
- all of these answers
- the software is free to use
- the software is free to modify
- Review of the HTML on line1. The goal of the PHP on line 2 is to extract the field value and assign it to a variable prior to inserting into the database. What is wrong with this PHP code?
- The code sample does not use the GET method. It should be wrapped in the `get_post_field()` function and look like this `$title = get_post_field( $GET[ 'title' ] );`
- The code sample does not use sanitize the form data. It should use the `sanitize_text_field()` function and look like this: `$title = sanitize_text_field( $_POST[ 'title' ] );`
- There is no error. The code follows WordPress best practices.
- The code sample does not allow for translation. It should use a translation function and look like this: `$title = __( $_POST[ 'title' ];`
- Which of these CSS classs naming convention is correct according to WordPress CSS Coding Standards?
- `.selector-name`
- `.selector_name`
- `.selectorName`
- `div.selector_name`
- Which folder in a WordPress install is not affected by an automatic WordPress update?
- `/wp-admin`
- `root`
- `/wp-content`
- `/wp-includes`
- What are transients?
- short database queries
- a way to cache information
- plugins used for quick debugging
- post draft stored in the database
- If you wanted to debug some JavaScript, which method would you use to display data in your browser console?
- `windows.alert()`
- `console.log()`
- `document.write()`
- `innerHTML`
- On a webpage, there are frequently navigation links, a search bar, or other elements that appear before the main content. For keyborad and screen reader users, it can be frustrating to get to the main content of a page because they have to tab through all these elements on every new page load. What can you add to a site to fix this?
- collapsible menus
- infinite scroll
- skip links
- tabbed navigation
- What user role would you assign to someone so they can write and publish only their posts and no one else's?
- Contributor
- Author
- Editor
- Subscriber
- When should you edit core WordPress files?
- when there is no plugin available to make a customization you need
- when you need to add a custom page template
- when you need to add a custom script to the header or footer of every page in a site
- You should never edit WordPress core.
- Which Wordpress conditional would you use to determine if you were on a single page?
- is_archive()
- is_page()
- is_page_template()
- is_single()
- Wordpress core and many plugins store data in the database in a special format as represented by the sample below. What format is this called?
- value
- serialized data
- PHP array
- text array
- What is this code sample an example of?
- custom query
- template tags
- the Loop
- nested loop
- Which of these are the minimum files required to make a child theme?
- index.php functions.php
- index.php style.css script.js
- functions.php style.css script.js
- functions.php style.css
- You can harden your Wordpress site security by adding **\_** to your wp-config.php file?
- hashes and reCAPTCHA
- database username and passwords
- custom action hooks and filters
- unique keys and salts
- In the WordPress template hierarchy, which file could not be used to display an archive?
- `archive.php`
- `index.php`
- `page.php`
- `category.php`
- Why can't you modify the query in a template page?
- The query can only be run inside the Loop.
- You can modify the query in a template page if you use `pre_get_posts()`.
- According to WordPress best practices, the query should only be modified in `functions.php`.
- Due to execution order, the query has already run by the time a template is loaded.
- For the majority of modern themes, what is the standard method used to customize various details of site appearance and features, such as changing the site description or adding a logo and favicons?
- WordPress settings
- Customizer
- wp-config.php
- Theme settings
- How would you write a text string containing "Hello World!" in a way that makes it possible for someone else to translate the string into a different language?
- `apply_filters( 'Hello World!', 'mytextdomain' );`
- `esc_html( 'Hello World!', 'mytextdomain' );`
- `$string = "Hello World!";`
- `__( 'Hello World!', 'mytextdomain' );`
- Which of these are best practices in accessibility?
- Do not skip heading levels.
- Be sure there is proper color contrast between background and text.
- If an activity can be completed with a mouse, it must also be accessible by keyboard.
- all of these answers
- JavaScript variables can hold many data types. Which data type does the following variable represent?
- Boolean
- Number
- String
- Object
- You would use a post instead of a page when the content is **\_**.
- for a top-level menu item
- nested (has a parent/child relationship with another piece of content)
- when the content is part of a blog.
- evergreen
- The WordPress block editor contains a number of default blocks, including blocks for paragraphs, images, quotes, and shortcode. Blocks are grouped into categories to help users browse and discover them. Which is not a category provided by WordPress core?
- formatting
- widgets
- layout
- shortcodes
- What service is used to manage user profile photos across any WordPress site?
- Gravatar
- WordPress.org
- None. Just upload a profile photo from your site user account.
- Profile Photo plugin
- Which is not a benefit of DRY code?
- The code can be reused.
- The code is less abstracted.
- The code is easier to read.
- The code is easier to maintain.
- Which of these does not impact your site speed?
- caching
- your web host
- inactive plugins
- content delivery network (CDN)
- Where do you configure global settings for comments on your WordPress site?
- Tools screen
- wp-config.php
- cPanel
- Discussion Settings