如果URL是这样的:这样做[..并在页面标题中包含slug?]

时间:2013-02-02 23:10:52

标签: php wordpress if-statement

http://alexmasters.is/a/photographer

如果您在新标签/窗口中打开其中一个类别(或直接进入:http://alexmasters.is/shooting/weddings),您会注意到最新条目的标题代替了投资组合的位置以及类别的位置标题应该是。

是否可以使用这样的东西:

<div id="page_title" class="page_title_portfolio border_bottom">
<h1 style="<?php if($_SERVER['HTTP_HOST'] != '/shooting/'){echo 'display:none;'; } ?>">Cindy &#038; Akbar : </h1>

这样/ / shooting / category会触发display:none;作为H1的财产?如果这样可行,是否也可以使用相同的条件接受/拍摄/并在其中使用它?

有点像

<div id="page_title" class="page_title_portfolio border_bottom">
<h1 style="<?php if($_SERVER['HTTP_HOST'] != '/shooting/'){echo 'display:none;'; } ?>">Cindy &#038; Akbar : </h1>
<?php if($_SERVER['HTTP_HOST'] != '/shooting/'){echo '<h1 style="{text-transform:capitalize;}">SLUG AFTER SHOOTING HERE</h1>'; } ?>">

^显然,这可能比试图解决这个问题更容易:

<div id="page_title" class="page_title_portfolio border_bottom">
<h1><?php echo $title; ?></h1>
<?php if (strlen(trim(get_post_meta(get_the_ID(), '_page_extra_description', true))) > 0): ?>
<span>|</span> <p><?php echo trim(get_post_meta(get_the_ID(), '_page_extra_description', true)); ?></p>
<?php endif; ?> 

1 个答案:

答案 0 :(得分:1)

此代码将获取当前页面网址,并在http://alexmasters.is/之后生成一组uri项目,例如,如果网址为http://alexmasters.is/a/b/c,则可以打印b,例如echo $ parts [1];你可以检查$ parts [1]是否为空,这样你就可以打印$ parts [0]

 <?php

function full_url()
{
    $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
    $protocol = substr(strtolower($_SERVER["SERVER_PROTOCOL"]), 0, strpos(strtolower($_SERVER["SERVER_PROTOCOL"]), "/")) . $s;
    $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
    $uri = $protocol . "://" . $_SERVER['SERVER_NAME'] . $port . $_SERVER['REQUEST_URI'];
    $segments = explode('?', $uri, 2);
    $url = $segments[0];
    return $url;
}

$uri = parse_url(full_url());

print_r($uri);
$parts = explode("/",substr($uri["path"],1));
print_r($parts);
echo $parts[0];
echo $parts[1];
?>