特定类别帖子中的 Wordpress 独特背景

Wordpress unique background in posts that are in specific category

我有一个代码:

<body <?php if( in_category( 11446 ) ) { echo "style=\"background-image: url('my-background-url-of-image');background-repeat:repeat;\" onclick=\"window.open('http://www.domain.com');\""; } ?> >

此代码仅在页面完全加载之前有效,然后发生了某些事情,并且它不起作用我从检查元素中假设 onclick 函数发生了变化,但我没能找到是什么部分欺骗了它。

此代码的作用是设置特定类别中的唯一正文背景,并且背景是可点击的。

但是由于一些 javascript 错误,当页面加载满时它不起作用,所以也许有人可以向我解释如何删除 Javascript 上的 attr,而不是添加我想要的域。或者举例说明如何仅使用 href 来执行替代代码。

谢谢。

我假设您正在构建一个 Wordpress 模板,并且要使用的背景图像基于 Wordpress 的类别 post。

这不使用Javascript。相反,它所做的是在 HTML5 文档的 head 标记内动态创建 CSS 声明块。它不为 body 标签内联 CSS。

<?php
// ====================================================
// Solution #1
// Background Image Only
// ====================================================

function GetThisWordpressPostCategory() {
  // Do post category to filename mapping here
  return("cars");
}

function in_category() {
  // Just a dummy to simulate Wordpress in_category call
  return(true);
}

function BodyBackground($category) {
  $bodyCss = "";
  if (in_category($category)) {
    $bodyCss =<<<CSS
<style type="text/css">
body {
  background-image: url('{$category}.jpg');
}
</style>
CSS;
  }
  return($bodyCss);
}
?>

<!DOCTYPE html>
<html>
  <head>
    <title>Category background</title>
    <?php
    $category = GetThisWordpressPostCategory();
    echo BodyBackground($category);
    ?>
  </head>
  <body>
  </body>
</html>


<?php
// ====================================================
// Solution: 2
// Clickable div spanning viewport
// ====================================================


function GetThisWordpressPostCategory() {
  // Do post category to filename mapping here
  return("cars");
}

function in_category() {
  // Just a dummy to simulate Wordpress in_category call
  return(true);
}

function PageCss($category) {
  $pageCss = "";
  if (in_category($category)) {
    $pageCss =<<<CSS
<style type="text/css">
html, body, #page {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background-image: url('{$category}.jpg');
}
#page-anchor {
  display: block;
  width: 100%;
  height: 100%;
}
</style>
CSS;
  }
  return($pageCss);
}
?>

<!DOCTYPE html>
<html>
  <head>
    <title>Category background</title>
    <?php echo PageCss(GetThisWordpressPostCategory()); ?>
  </head>
  <body>
    <div id="page">
      <a id="page-anchor" href="http://www.google.com"></a>
    </div>
  </body>
</html>