WordPress has many hooks and filters that allow us to modify its behavior or update data before it is passed to another filter.
Here's a video explanation:
How to target an element with CSS
if you're targeting an element with a specific ID (some_id) you just use
#some_id { color: red; }
if you're targeting an element with a specific css class you just use the following. The classes are separated by space
.some_class { background:red; }
How to target an element that's inside another element with CSS ?
If you want to target an element that's within a another element you separate the selectors with a space.
.parent_class .some_element { color: red; }
How to target a specific element/container on a given WordPress page?
Yes. We're getting to it. You need to add this snippet to your custom plugin or functions.php file.
It will add the necessary CSS classes to the <body> element and you can use them to target the desired element.
The css classes will depend on the page links that you've used.
/**
-
This code adds extra CSS classes to the body element. Those classes can be used to target specific elements
-
on a specific WordPress page
-
e.g. Contact form page has a slug (/contact) and an element with a class .msg
-
.contact .msg { background : green; }
-
Customizations: if you want to hire us to customize this code go to https://orbisius.com/free-quote
-
@author Svetoslav (Slavi) Marinov - https://orbisius.com
-
@see blog post link https://orbisius.com/7195
-
@license GPL
*/
function orbisius_post7195_upd_body_class($classes)
{
if (!empty($_SERVER['REQUEST_URI'])) {
$req_url = $_SERVER['REQUEST_URI'];
$req_url = strip_tags($req_url);
$req_url = trim($req_url);// no need for the request params ... if (strpos($req_url, '?') !== false) { $req_url = preg_replace('#\?.*#si', '', $req_url); } $req_url = trim($req_url, '/'); // no need for leading or trailing slashes // the $req_url should be pretty clean by now. // e.g. contact or services or products/product123 $page_slugs = explode('/', $req_url); $req_url = str_replace('_', '-', $req_url); // let's make it consistent with dashes $page_slugs[] = $req_url; // let's put the full link too and not just its parts // sanitization and clean up $page_slugs = array_map('sanitize_title', $page_slugs); $page_slugs = array_filter($page_slugs); // rm empty elements just in case $page_slugs = array_unique($page_slugs); // everybody is unique // if using merge we may end up with multidimensional arrays and we don't want that. $classes = array_replace($classes, $page_slugs);}
return $classes;
}
if (function_exists('add_filter')) {
add_filter('body_class', 'orbisius_post7195_upd_body_class', 50);
}