Интеграция с cubepoints
-
Добрый день, уважаемые знатоки!
Идея реализуемая в этом топике будет достаточно интересна многим пользователям, которые используют вышеназванный плагин, но к сожалению не смог решить ее сам. Поэтому к делу:
ввиду того, что на моем сайте используются произвольные поля и постить в него могу все зарегистрированные пользователи не отличающиеся продвинутостью, то блок произвольных полей у меня спрятан, а выводятся поля, которые используют информацию введенную в них в качестве значений произвольных полей. поля выводятся в редакторе подобным кодом:<p><strong>Объявление </strong><?php $mark_v = get_post_meta($post->ID, 'robotmeta', 1); ?> <label><input type="radio" name="extra[robotmeta]" checked="1" value="normal" <?php checked( $mark_v, 'normal' ); ?> /> обычное</label> <label><input type="radio" name="extra[robotmeta]" value="sale" <?php checked( $mark_v, 'sale' ); ?> /> срочное</label> </p>
т.е. используются два значения, одно по-умолчанию.
Если пользователь отмечает, что объявление у него срочное, то это определенным образом влияет на отображение его объявления и предполагается, что в этом случае у пользователя должно отниматься определенное количество очков cubepoints при публикации.
В cubepoints есть функция которая начисляет определенное количество очков за публикацию. Вот эта:function cp_newPost($pid) { $post = get_post($pid); $uid = $post->post_author; global $wpdb; $count = (int) $wpdb->get_var("select count(id) from <code>".CP_DB."</code> where <code>type</code>='post' and <code>data</code>=". $pid); if($count==0){ cp_points('post', $uid, apply_filters('cp_post_points',$post_points), $pid); } }
Я бездарно попытался изменить эту функцию таким образом:
function cp_newPost($pid) { $post = get_post($pid); $uid = $post->post_author; $robotmeta = get_post_meta($post->ID, 'robotmeta', false); $post_points = get_option('cp_post_points'); global $wpdb; $count = (int) $wpdb->get_var("select count(id) from <code>".CP_DB."</code> where <code>type</code>='post' and <code>data</code>=". $pid); if($count==0){ if (checked( $mark_v, 'sale' )){ $post_points -= 2; } cp_points('post', $uid, apply_filters('cp_post_points',$post_points), $pid); $count = (int) $wpdb->get_var("select count(id) from <code>".CP_DB."</code> where <code>type</code>='post' and <code>data</code>=". $pid); } }
Но все равно не работает.Очевидно, что условие
if (checked( $mark_v, 'sale' ))
не работает, но я не знаю как проверить отмечен пункт или нет.
Прошу помощи и поддержки!
- Тема «Интеграция с cubepoints» закрыта для новых ответов.