我想有不同的风格为我的帖子基于每个帖子的内容

时间:2012-11-02 作者:benlevywebdesign

以下是我要查看的wordpress主题(尚未完成):http://benlevywebdesign.com/wordpress/

这是我第一次使用php/wordpress并制作主题,所以请记住这一点。我有一个索引。php、css和960。css文件,不知道可以包含哪些其他文件。

在我的主题,我想有不同的风格为我的帖子的基础上,每个帖子的内容,如图像和视频链接或音频链接。

我想首先关注一种照片样式,照片将越来越大,而不是缩略图或常规贴画的大小。

一旦我学会了如何拥有不同的风格,我可以自己添加更多,因为这只是css!

这是我当前的循环代码:

    <!-- ***** Post **** -->
    <div class="grid_2 alpha">
        <div class="date_banner">
            <div class="d"><!-- sidebar 1 --><?php the_time(\'d\'); ?></div>
            <div class="m"><!-- sidebar 1 --><?php the_time(\'M\'); ?></div>
            <div class="y"><!-- sidebar 1 --><?php the_time(\'Y\'); ?></div>
        </div>
        <div class="commentsnumber">
            <?php comments_number(\'No comment\', \'1 comment\', \'% comments\'); ?>
        </div>
    </div>

    <div class="grid_10 omega">

      <div class="post">
        <div class="titlepostauthorimage">
            <div class="post-title">
                <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
            </div>
            <div class="post-author-image">

            </div>
            <div class="post-author">
                 <?php the_author_posts_link(); ?>
            </div>
            <div class="post-image">
                <?php the_post_thumbnail( $size, $attr ); ?> 
            </div>
        </div>

        <div class="post-body">
            <?php the_content(); ?>
        </div>
        <div class="post-meta">
            <?php the_category(\', \'); ?>
            <!-- post tags -->
        </div>
    </div>
    <div class="commentsarrow"> <?php wp_list_comments(); ?> </div>

    </div>
        <!-- ***** END post ***** -->
    <?php endwhile; else: ?>
        <!-- In case no posts were found -->
            <div class="post-cf">Hmmm? Can\'t. Find. Post.
            </div>
    <?php endif; ?>
这里有一个博客主题示例,它正在做我想做的事情(从底部开始的第三篇文章)http://demo.kreativethemes.com/evolution/

我读到关于使用post_class() 函数,我需要为post类型创建另一个php文件,或者我可以将标记直接编码到循环中,如果我更喜欢这个问题的话CSS for Custom Post Types (并且了解他们在做什么,但不知道如何实际做到)

我想如果不是像我之前说的那样太复杂的话,我想把它直接放到循环中去。我不太了解可以包含的其他文件。

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

根据您需要的“类型”,您可能需要Post Format 功能。它允许您将帖子设置为标准、引号、图库等(有点像Tumblr)。要激活它,只需将其放入主题中(可能是functions.php):

add_theme_support( \'post-formats\', array( \'aside\', \'gallery\', \'quote\' ) );

然后,在模板中,您有一些选项。您可以使用条件句在single中任意使用。php,或者您可以为每个post格式创建php文件。内单。php,您可能需要以下内容:

get_template_part( \'content\', get_post_format() );

这将检查post格式并加载相应的文件。这样,画廊格式的帖子可以很容易地包含以下内容:

do_shortcode(\'[gallery]\')

已插入。当显示库时,模板将只知道并自动显示图像。

这就是你想要的吗?

SO网友:dmarges

使用自定义帖子格式。完全可以做你想做的事!

http://codex.wordpress.org/Post_Formats

对不起,我忘了补充说这是一个更好的练习。您可以在循环中保留带有网格类的div,但随后使用get\\u template\\u part(\'content\',get\\u post\\u format());在该分区内。

将加载模板文件的内容视频。php“如果帖子格式是视频。在那里,标记和php就像往常一样。

在“内容视频”中。php’或任何post类型,都可以像往常一样加载CSS类。

下面是一些更详细的信息:

在函数中。php文件:

添加\\u主题\\u支持(\'post formats\',array(\'video\',gallery\');

然后在索引中。php文件(带有循环的文件),可以执行以下操作:

`while(have\\u posts()):the\\u post();get\\u template\\u part(\'content\',get\\u post\\u format())`这将为您提供正确的内容文件,即;所容纳之物php或内容视频。php等。

然后在内容视频中。php,例如,如果您正在显示youtube视频:

`do\\u短代码(“youtube”)`记住这一点,您将拥有以下文件:

功能。php-您迟早会需要它,这样创建它就不会有什么坏处

所容纳之物php-这将具有特定于帖子内容的标记。这是通用的。

内容视频。php-这是放置不同于所有其他内容的代码的地方。或者换句话说,特定于视频。php

索引。php或多或少只是设置了循环,希望这有帮助!

结束

相关推荐

如何检查我是否在admin-ajax.php中?

现在对于我的插件,我正在使用in_admin() 确定用户是在站点前端还是在管理区域。然而,当插件使用admin-ajax.php 处理ajax请求。我需要一种只在处理时注册挂钩和插件的方法admin-ajax.php 文件或位于网站前端。这样做的最佳方式是什么?