根据页面路径更改图像

时间:2014-12-17 作者:CalvT

在我的标题中。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函数应该可以做到这一点,但我不知道该怎么做。

2 个回复
最合适的回答,由SO网友:CalvT 整理而成

最后,我设法使用了这个:

// 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(); ?> 要生成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>

SO网友:Hans Spieß

如果您正在处理一个类别页面,只需使用conditional tags, 正如@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类别图像作为背景图像,然后query the woocommerce category. 如果您想在其他地方使用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\';
  }
}

结束