Изменить изображение в зависимости от пути к странице

В моем header.php у меня есть типичный код заголовка – это для woocommerce, но кодировка не имеет к этому никакого отношения:

<h1 class="page_title"><?php woocommerce_page_title(); ?></h1> 

Теперь я отредактировал это несколько, чтобы показать:

 <table style="background-image: url('url');><tr><td><?php woocommerce_page_title(); ?></td></tr></table> 

У меня довольно много ссылок на моем сайте, и мне было интересно, можно ли изменить URL-адрес изображения в зависимости от категории, указанной на постоянной ссылке? У меня две категории, поэтому я предполагаю, что функция IF должна это делать, но я не уверен, как это сделать.

Solutions Collecting From Web of "Изменить изображение в зависимости от пути к странице"

Если вы имеете дело со страницей категории, вы просто используете условные теги , как было предложено @milo:

 if ( is_category( 'cat-1' ) ) { $url = 'my-background-image-url-1.ext'; } else if ( is_category( 'cat-2' ) ) { $url = 'my-background-image-url-2.ext'; } 

помните, что вы могли бы пройти в категорию slug, а также название категории или массив, содержащий любое из этих значений.

если вы имеете дело с категориями woocommerce, вы можете использовать изображение категории woocommerce в качестве фонового изображения, а затем запросить категорию woocommerce . если вы хотите использовать изображение категории woocommerce в другом месте, вы можете просто скопировать изображение, соответствующее категории slug, например:

 if ( is_product_category() ){ global $wp_query; $cat = $wp_query->get_queried_object(); $my_slugs = array( 'category-slug-1', 'category-slug-2' ); if ( in_array( $cat->slug, $my_slugs ) { $url = 'my-background-image-url-' . $cat->slug . '.ext'; } } 

В итоге мне удалось использовать это:

 // retrieves the page url function getUrl() { $url = 'http' . ( isset( $_SERVER['HTTPS'] ) && 'on' === $_SERVER['HTTPS'] ) ? 's' : ''; $url .= '://' . $_SERVER["SERVER_NAME"]; $url .= $_SERVER['REQUEST_URI']; return $url; } // checks to see if text1 is included in the url. If it is, then the output is url1. If it isn't included, the output is url2. function imgSrcF() { $a = getUrl(); if (strpos($a,'text1') !== false) { $imgsrc = 'url1'; } else { $imgsrc = 'url2'; } echo $imgsrc; } 

На самой странице для отображения изображения я использовал <?php imgSrcF(); ?> <?php imgSrcF(); ?> для генерации URL:

 <table style="background-image: url('<?php imgSrcF(); ?>'); "> 

Я предполагаю, что это также можно было бы использовать так:

 <img src="<?php imgSrcF(); ?>" /> 

Если вы хотите отобразить URL-адрес на странице:

Это происходит в functions.php

 function writeUrl() { echo "The current page url is ".getUrl(); } 

Затем на странице используйте что-то вроде этого

 <p><?php writeUrl(); ?></p>