我一直在为添加一些自定义项Download Monitor
到目前为止,我已经能够添加自定义元复选框,并使用以下代码保存它们。
global $post, $download;
//add additional meta to download monitor post screen.
function add_custom_dm_options( $post ) {
global $post, $thepostid;
$thepostid = $post->ID;
echo \'<p class="form-field form-field-checkbox">
<input type="checkbox" name="_act_sub" id="_act_sub" \' . checked( get_post_meta( $thepostid, \'_act_sub\', true ), \'yes\', false ) . \' />
<label for="_act_sub">\' . __( \'Active Subscriber\', \'download_monitor\' ) . \'</label>
<span class="description">\' . __( \'This download is only for users who belong to the Active Subscriber Role.\', \'download_monitor\' ) . \'</span>
</p>\';
}
add_action( \'dlm_options_end\', \'add_custom_dm_options\' );
//save additional meta on download monitor post.
function save_custom_dm_options( $post_id, $post ) {
$_act_sub = ( isset( $_POST[\'_act_sub\'] ) ) ? \'yes\' : \'no\';
update_post_meta( $post_id, \'_act_sub\', $_act_sub );
}
add_action( \'dlm_save_meta_boxes\', \'save_custom_dm_options\', 1, 2 );
下一步是确定用户是否已登录,以及帖子是否使用\\u act\\u sub保存。
以下是我使用的代码:
//new rules using the act_sub post meta check and the active_subscription user role.
function subscription_access( $post, $download ) {
if ( $download->is_act_sub() && ! is_user_logged_in() )
$can_download = true;
return $can_download;
}
add_filter( \'dlm_can_download\', \'subscription_access\', 1, 2 );
这段代码都在同一个函数文件中,因此它还使用了前面所述的全局变量。
当我转储$download变量时,我得到:pastebin
我只能很好地使用\\u members\\u的内置元密钥,但我还不能使用自定义元密钥。我检查了数据库,一切都保存得很好。
有人能帮我确定是否有语法问题吗?
插件-下载MonitorCustom插件-上面的代码