显示每月第一个工作日的 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
使用 Google App Engine 和 Google Cloud SQL 扩展 WordPress