使用全局$POST;使用自定义帖子类型

时间:2011-11-04 作者:Zach Shallbetter

我正在创建一个通知,当一个帖子发布不到几天时,它会显示出来。这是专门针对名为“新闻”的自定义帖子类型的。有没有办法使用global $post; 是否使用自定义帖子类型?

这是我的原始代码。

<?php global $post;
    $postdate = str_replace("-", " ",substr($post->post_date, 0,10));
    $postd = explode(" ", $postdate);
    $ageunix = get_the_time(\'U\');
    $days_old_in_seconds = ((time() - $ageunix));
    $days_old = (($days_old_in_seconds/86400));
    if ($days_old < 3) { ?>
    <script type="text/javascript">
        jQuery(document).ready(function($){
            $("#notification").addClass("notification-highlight"); 
        });
    </script>
<?php } ?>
我试过了

<?php 
$post_type = get_post_type();
if (($days_old < 3) && ($post_type == "news")) { ?>
    <script type="text/javascript">
        jQuery(document).ready(function($){
            $("#notification").addClass("notification-highlight"); 
        });
    </script>
<?php } ?>

2 个回复
SO网友:Dave Romsey

这个怎么样?(添加到主题的functions.php文件或插件。)

function new_post_alert() {
    global $post;
    $ageunix = get_the_time( \'U\' );
    $days_old_in_seconds = time() - $ageunix;
    $days_old = $days_old_in_seconds / 86400;
    $post_type = get_post_type();

    if ( ( $days_old < 3 ) && ( \'news\' === $post_type ) ) { ?>
        <script type="text/javascript">
            jQuery(document).ready(function($){
                $("#notification").addClass("notification-highlight");
                //alert(\'new!\');
            });
        </script><?php
    }
}
add_action( \'wp_footer\', \'new_post_alert\' );

SO网友:Anca Mosoiu

您在哪个模板中执行此操作?只要调用函数时处于循环中,就可以将全局$post与CPT一起使用。

具体来说,您可以考虑在单个新闻中循环您的代码。php模板。

结束

相关推荐

在_content周围的<p>标记内添加_date

我正在尝试获取它,以便我的所有帖子都在帖子内容的开头显示日期,这样每个帖子的开头都是:“8月28日-Lorem ipsum dolor sit amet…”但是,如果代码只是:<?php the_time(\'F j - \'); ?><?php the_content(\'Read More\'); ?> 然后,由于Wordpress会自动在\\u内容周围添加p标记,因此最终会在日期和其余内容之间显示一个换行符:“8月28日-Lorem ipsum dolor sit