显示每月第一个工作日的 WordPress 函数和简码

Posted

技术标签:

【中文标题】显示每月第一个工作日的 WordPress 函数和简码【英文标题】:WordPress Function and Shortcode to show first workday of the month 【发布时间】:2021-06-25 02:11:16 【问题描述】:

我想做的是显示一个月的第一个工作日的日期,除非它已经过去,然后使用简码在 WordPress 网站上显示下个月的第一个工作日。

我认为这可以作为 WordPress 主题的 functions.php 文件中的一个函数来完成。我有一个简码函数,用于在页脚中显示版权声明的当前年份。

function year_shortcode() 
  $year = date('Y');
  return $year;

add_shortcode('year', 'year_shortcode');

我有一个 PHP 函数应该显示一个月和一年的第一个工作日。

date('d-m-Y', strtotime('weekday february 2016'))

但我不知道如何将它们放在一起。我在想这样的事情:

    获取当前的日、月和年变量。 把它们放在上面的 PHP 日期中。 如果生成的日期超过当前日期,则将月份加 1 并再次运行。 将结果放入简码函数中。

这是我第一次在这里发帖,我不是程序员。请善待并提前感谢您提供的任何帮助。

【问题讨论】:

对于 1 号,您可以这样做。我不擅长约会,但这可能会有所帮助 $timestamp = strtotime('weekday february 2016'); $month = date('m',$timestamp ); $year = date('Y', $timestamp ); $day = date('d', $timestamp ); 【参考方案1】:

你可以像这样把它们放在一起。

function year_shortcode( $args ) 
    $first_workday = date('d-m-Y', strtotime('weekday'));
    return $first_workday;

add_shortcode('year', 'year_shortcode');

并在任何地方使用这个 [year] 短代码。

【讨论】:

这已经完成了 90%。它有效,但我还需要上面#3 中的逻辑。例如,今天它输出 1-3-2021,但我需要它输出下个月的第一个工作日,因为 1-3-2021 现在已经过去了。 好的,我会回复你的。 这个更新的代码破坏了网站。前面的代码有效,我只需要一些 PHP 逻辑来检查返回的日期是否在当天之前,如果是,则获取下个月的第一个工作日。这有意义吗? 该代码没有错误。你检查错误日志了吗?【参考方案2】:

我想我通过改进的代码和上面 #3 中要求的条件解决了这个问题。

function payment_date( $args ) 
    $first_weekday = date( 'm-d-Y', strtotime( 'first weekday this month' ) );
    $first_weekday_next = date( 'm-d-Y', strtotime( 'first weekday next month' ) );
    
    if($first_workday < strtotime('0:00')) 
        return $first_weekday;
     else 
        return $first_weekday_next;
    

add_shortcode('payment', 'payment_date');

我使用的是 PHP 相对格式(本月的第一个工作日/下个月的第一个工作日)而不是日期。然后条件如果结果是过去,则获取下个月的第一个工作日。注意:0:00 只是比较日期而不是时间。

【讨论】:

以上是关于显示每月第一个工作日的 WordPress 函数和简码的主要内容,如果未能解决你的问题,请参考以下文章

每月第 5 个工作日的 TimeTrigger - 计划的 Web 作业 Azure

WordPress 按年每月存档

Wordpress:仅显示今年的档案

使用 Google App Engine 和 Google Cloud SQL 扩展 WordPress

wordpress 在functions.php第5行的非对象上调用成员函数add_section()

wordpress 编辑当前日志函数 edit_post_link