在WordPress中我已经学会了如何使用wp_insert_post()
插入自定义JSON链接,但我想要一种方法可以条件化JSON拉的状态,如果我收到错误,我可以标记自定义帖子类型,包含要审核的错误计数。我花了一些时间在codex和开发人员文档中寻找这个并没有成功。我试过在WordPress管理员下浏览网站,但我没有运气。
我正在使用较旧的WordPress版本来抛出我正在谈论的内容。在此屏幕截图中,您将看到包含更新编号的圆圈:
这里是红色圆圈,表示需要更新插件:
这叫做什么以及我可以使用什么钩子来解决这个问题所以当我使用wp_insert_post()
时,我可以抛出带有JSON返回错误的计数的圆圈,这样我就可以查看发生了什么?
当我浏览核心的wp-admin文件夹时,我能够在update-core.php下找到控制它的代码,但我无法解决这是如何完成的。在menu.php中,我看到:
if ( ! is_multisite() ) {
if ( current_user_can( 'update_core' ) )
$cap = 'update_core';
elseif ( current_user_can( 'update_plugins' ) )
$cap = 'update_plugins';
else
$cap = 'update_themes';
$submenu[ 'index.php' ][10] = array( sprintf( __('Updates %s'), "<span class='update-plugins count-{$update_data['counts']['total']}' title='{$update_data['title']}'><span class='update-count'>" . number_format_i18n($update_data['counts']['total']) . "</span></span>" ), $cap, 'update-core.php');
unset( $cap );
}
所以我尝试研究变量$cap
上的任何内容,看看我是否可以在代码中提取一些东西,但仍然没有。
澄清一下:当我在我的JSON提要中检测到其中一个响应时,例如错误状态,我将条件化它为error_cpt创建一个帖子。我已经完成了它并且它有效,但是我喜欢在我为error_cpt创建的新帖子状态下抛出新帖子数量的圈子,当我查看帖子并将帖子状态更改为其他内容时,例如帖子状态已审核计数的圆圈会消失。我需要一个带有计数的圆圈,所以如果我有6个错误帖子,那么自定义帖子类型error_cpt旁边会有一个6圈。
答案 0 :(得分:0)
你打电话给add_options_page()
,不要迟到。使用支持的API执行此操作总是更好,而不是使用内部结构:
add_action( 'admin_menu', 'customnotification_created' );
function customnotification_created()
{
$warnings = get_transient( 'custom_warnings' ); // You can place your json count
$warning_count = count( $warnings );
$warning_title = esc_attr( sprintf( '%d plugin warnings', $warning_count ) );
$menu_label = sprintf( __( 'Plugin Checker %s' ), "<span class='update-plugins count-$warning_count' title='$warning_title'><span class='update-count'>" . number_format_i18n($warning_count) . "</span></span>" );
add_options_page( 'Plugin Check', $menu_label, 'activate_plugins', 'sec_plugin_check', 'sec_checker' );
}