有条件的PHP

时间:2013-06-28 09:13:15

标签: php html css

正如您所看到的网页www.evolvedtools.org/Genr8PageIntro.php我从我的wordpress.org博客中获取博客,并使用一些简单的php标记在此页面上显示它们: 在页眉中:

<?php 
require('./blog/wordpress/wp-blog-header.php');
?>

...在页面正文中:

<div id="PHPBlog">
<?php 
global $post;
$args = array( 'posts_per_page' => 8 );
$myposts = get_posts( $args );
foreach( $myposts as $post ) :  setup_postdata($post); ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a><br >
<?php endforeach; ?>
<p>Feeds - Personal Blog - Master Thesis</p>
</div>

问题是我只想在您使用全屏桌面时显示博客文章。我针对不同的环境进行了媒体查询。 我不想在这些条件下显示数据库内容:

<link href="TextPstyle.css" rel="stylesheet" type="text/css" media="only screen and (min-width: 41em)" id="stylesheet-TextP">

我对PHP知之甚少,所以我刚刚开始讨论这些事情。如果有人能就此建议我,我会很高兴: - )

2 个答案:

答案 0 :(得分:1)

您可以使用$_SERVER['HTTP_USER_AGENT']并搜索桌面操作系统,然后有条件地执行一些代码:

function is_desktop() {
    $agent = $_SERVER['HTTP_USER_AGENT']
    // Code here to check for desktop
}

if (is_desktop()) {
    // Show conditional content
} else {
    // Otherwise
}

使用PHP而不是客户端使用CSS来执行此服务器端的原因是因为不应为非桌面用户加载数据(不加载然后隐藏)。

修改

当然,重用别人的代码是个好主意。我之前使用过Mobile_Detect,你可以进行检查:

include 'Mobile_Detect.php';
$detect = new Mobile_Detect;
if ($detect->isMobile() || $detect->isTablet()) {
    // Handle mobile version
} else {
    // Handle desktop version
}

答案 1 :(得分:0)

以下是我在评论中所说的内容。

@media all and (min-width: 41em) {
.someclass
    {
        display:none;
    }
}