我已经编写了Wordpress日历插件,并希望在指定的日期(即没有帖子的日期)放置“添加帖子”链接:
当我单击该链接时,我希望被带到“添加新帖子”管理页面,并预先选择特定日历日期作为帖子发布日期。有没有办法通过URL中的查询字符串来实现这一点?例如:http://example.com/wp-admin/post-new.php?post_date=2016-09-14
这种方法可行吗?是否有其他方法可以尝试将日期传递到“添加新帖子”页面?我只是在做梦吗?:)TIA!
我已经编写了Wordpress日历插件,并希望在指定的日期(即没有帖子的日期)放置“添加帖子”链接:
当我单击该链接时,我希望被带到“添加新帖子”管理页面,并预先选择特定日历日期作为帖子发布日期。有没有办法通过URL中的查询字符串来实现这一点?例如:http://example.com/wp-admin/post-new.php?post_date=2016-09-14
这种方法可行吗?是否有其他方法可以尝试将日期传递到“添加新帖子”页面?我只是在做梦吗?:)TIA!
这是我想出的解决方案!
在我的插件函数中:
<?php
function ficma_inline_script() {
$datedata = explode("-", $_POST[\'date\']);
$year = $datedata[0];
$month = $datedata[1];
$day = $datedata[2];
$newdate = date("M d, Y", mktime(0, 0, 0, $month, $day, $year));
?>
<script type="text/javascript">
document.getElementById("mm").value = "<?=$month ?>";
document.getElementById("cur_mm").value = "<?=$month ?>";
document.getElementById("hidden_mm").value = "<?=$month ?>";
document.getElementById("jj").value = "<?=$day ?>";
document.getElementById("cur_jj").value = "<?=$day ?>";
document.getElementById("hidden_jj").value = "<?=$day ?>";
document.getElementById("aa").value = "<?=$year ?>";
document.getElementById("cur_aa").value = "<?=$year ?>";
document.getElementById("hidden_aa").value = "<?=$year ?>";
document.getElementById("timestamp").innerHTML = "Publish date: <b><?=$newdate ?></b>";
document.getElementById("title").value = "<?=$titledate ?>";
alert("Script loaded inline! <?=$newdate ?> / <?=$titledate ?>");
</script>
<?php
}
global $pagenow;
if (!empty($pagenow) && \'post-new.php\' === $pagenow && isset($_POST[\'date\']) && $_POST[\'date\'] != "") {
add_action(\'admin_footer\', \'ficma_inline_script\');
}
?>
在我的内容中:<form id="<?=$formname ?>" method="post" action="<?=admin_url() ?>post-new.php" target="_blank" class="ficma-form">
<input type="hidden" name="date" value="<?=$caldate ?>" />
<input type="submit" name="submit" value="+" class="ficma-form-submit" style="<?=$ficma_color_add_post_link ?>" />
</form>
关键是在管理页脚中加载JS,以便在表单完全加载后更新字段值。设置hidden_*
字段。如果单击Edit
链接以更改发布日期,然后取消,这些值将重置为当前日期。
*2017年4月24日编辑:添加了一些JS更改值。但是,单击“另存为草稿”、“另存为挂起”或“发布”按钮时,不会保留自定义日期;正在搜索修复程序。
我找到了这本指南,我正在遵循它:https://rudrastyh.com/wordpress/meta_query.html但我发现它不适用于高级自定义字段的关系。为什么?这是我的代码:$args=array( \'post_type\' => \'post\', \'post_status\' => \'publish\', \'posts_per_page\' => -1, \'meta