MiaK Posted September 18, 2008 Share Posted September 18, 2008 Hi there! I recently switched to Wordpress and since then, I'm trying to get used to PHP, altough I don't know much about it. Hope you can help me with this particular code. I need to insert this fuction (it's a plugin function see here: http://www.cyber-knowledge.net/blog/2006/10/15/wordpress-plugin-rate-your-comments-comment-karma/ ) ck_display_karma(); inside the comments.php It works great with almost all themes, but not with the one I'm using, wich is the Mandigo theme. http://wordpress.org/extend/themes/mandigo - in that theme, comment.php is way too complicated for me, but anyways, I tried putting the code and cannot make it work. These are the instructions for the ck_display_karma(); code: Next depending on your theme you need to edit your comments theme file. You need to add ck_display_karma(); in your comment's for each loop. Look for "foreach ($comments as $comment)". You can insert it in that loop and here's my comments.php code, where that function has to be inserted: <?php global $mandigo_options, $dirs; /* do not delete these lines */ if ('comments.php' == basename($_SERVER['SCRIPT_FILENAME'])) die ('Please do not load this page directly. Thanks!'); // if there's a password if (!empty($post->post_password)) { // and it doesn't match the cookie if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { ?> <p class="nocomments">This post is password protected. Enter the password to view comments.<p> <?php return; } } /* if you really feel like it, you can start editing here */ // the post/page author $the_author = get_the_author(); $the_author_email = get_the_author_email(); // if there's at least one comment if ($comments) { ?> <div id="comments"> <?php comments_number( __('No Responses to ', 'mandigo'), __('One Response to ', 'mandigo'), __('% Responses to ', 'mandigo') ); ?> “<?php the_title();?>” </div> <?php // loop through comments // what we do here is process each comment, build <li> items, and separate real comments from trackbacks // we will display them later according to the chosen options foreach ($comments as $comment){ // the comment id $id = get_comment_ID(); // a BIG sprintf, not for the faint of heart $comment_list_item = sprintf(' <li class="clear%s" id="comment-%s"> <div class="commenter%s"%s> %s <cite>%s</cite> %s <small class="commentmetadata"><a href="#comment-%s">%s</a> %s</small> </div> <div class="comment"> %s </div> </li> ', ( // first %s, highlight author comment class ( $mandigo_options['comments_highlight_author'] && get_comment_author() == $the_author && get_comment_author_email() == $the_author_email ) ? ' authorcomment' : '' ), $id, // second %s, the comment id ( // 3rd %s, gravatar class ( !$mandigo_options['comments_no_gravatars'] && function_exists('get_avatar') && function_exists('get_comment_author_email') ) ? ' avatar' : '' ), ( // 4th %s, gravatar !$mandigo_options['comments_no_gravatars'] ? ( function_exists('get_avatar') && function_exists('get_comment_author_email') ? sprintf( ' style="background: url(%s) no-repeat top left;"', preg_replace( '/.+src=[\'"]([^\'"]+)[\'"].+/', '\1', get_avatar(get_comment_author_email(), '36') ) ) : '' ) : '' ), ( // 5th %s, animation link !$mandigo_options['disable_animations'] // if animations are not disabled ? sprintf( '<span class="switch-post"><a href="javascript:toggleComment(%s);" id="switch-comment-%s"><img src="'. $dirs['www']['icons'] .'bullet_toggle_minus.png" alt="" class="png" /></a></span>', $id, $id ) : '' ), sprintf( // 6th %s, the user name __('%s says:', 'mandigo'), get_comment_author_link() ), ( // 7th %s, whether the comment is pending moderation or not $comment->comment_approved == '0' ? '<em>'. __('Your comment is awaiting moderation.', 'mandigo') .'</em><br />' : '' ), $id, // 8th %s, the comment id again sprintf( // 9th %s, "which date at what time" __('%s at %s', 'mandigo'), get_comment_date(__('F jS, Y', 'mandigo')), get_comment_time() ), ( // 10th %s, the edit comment link, if appropriate function_exists('get_edit_comment_link') && current_user_can('edit_post', $post->ID) ? ' - '. apply_filters( 'edit_comment_link', '<a href="'. get_edit_comment_link($id) .'">'. __('Edit', 'mandigo') .'</a>', $comment->comment_ID ) : '' ), // 11th %s, the comment itself apply_filters('comment_text', get_comment_text()) ); // end of big sprintf, phew! // if this is a trackback if ($comment->comment_type == 'trackback') { // and we chose to display them either above or below regular comments if ($mandigo_options['trackbacks_position'] == 'above' || $mandigo_options['trackbacks_position'] == 'below') { // put them in a separate list $trackback_list[] = $comment_list_item; } // if we chose to display them along other comments elseif ($mandigo_options['trackbacks_position'] == 'along') { $comment_list[] = $comment_list_item; } } else { $comment_list[] = $comment_list_item; } } // end of foreach loop // if we have trackbacks and we chose to display them ABOVE comments if ($mandigo_options['trackbacks_position'] == 'above' && $trackback_list) { ?> <br /> <div id="trackbacks"><?php _e('Trackbacks', 'mandigo'); ?></div> <ol class="commentlist"> <?php echo implode("\n", $trackback_list); ?> </ol> <div id="trackbacks"><?php _e('Comments', 'mandigo'); ?></div> <?php } // the comments ?> <ol class="commentlist"> <?php echo implode("\n", $comment_list); ?> </ol> <?php // if we have trackbacks and we chose to display them BELOW comments if ($mandigo_options['trackbacks_position'] == 'below' && $trackback_list) { ?> <div id="trackbacks"><?php _e('Trackbacks', 'mandigo'); ?></div> <ol class="commentlist"> <?php echo implode("\n", $trackback_list); ?> </ol> <?php } } // this is displayed when there are no comments else { // if comments are open (but there are no comments) if ($post->comment_status == 'open') { } // if comments are closed else { ?> <p class="nocomments"><?php _e('Comments are closed.', 'mandigo'); ?></p> <?php } } // end of 'whether there are comments or not' condition // if comments are open if ($post->comment_status == 'open') { ?> <div id="respond"><?php _e('Leave a Reply', 'mandigo'); ?></div> <?php // if only registered users can comment, and the current user is not logged in if (get_option('comment_registration') && !$user_ID) { ?> <p><?php _e('You must be logged in to post a comment.', 'mandigo'); ?> <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>"><?php _e('Login', 'mandigo'); ?> »</a></p> <?php } // if user can leave a comment else { ?> <form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform"> <?php // if the user is logged in if ($user_ID) { ?> <p><?php printf(__('Logged in as %s', 'mandigo'),'<a href="'. get_option('siteurl') .'/wp-admin/profile.php">'. $user_identity .'</a>'); ?>. <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="<?php _e('Log out of this account', 'mandigo'); ?>"><?php _e('Logout', 'mandigo'); ?> »</a></p> <?php } // if the user is not logged in else { ?> <p><input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="22" tabindex="1" /> <label for="author"><small><?php _e('Name', 'mandigo'); ?> <?php if ($req) echo "(". __('required', 'mandigo') .")"; ?></small></label></p> <p><input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="22" tabindex="2" /> <label for="email"><small><?php _e('E-mail', 'mandigo'); ?> (<?php _e('will not be published', 'mandigo'); ?>) <?php if ($req) echo "(". __('required', 'mandigo') .")"; ?></small></label></p> <p><input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="22" tabindex="3" /> <label for="url"><small><?php _e('Website', 'mandigo'); ?></small></label></p> <?php } // if HTML tags are allowed in comments if ($mandigo_options['comments_allow_markup']) { ?> <p><small><strong>XHTML:</strong> <?php _e('You can use these tags:', 'mandigo'); ?> <?php echo allowed_tags(); ?></small></p> <?php } ?> <p><textarea name="comment" id="comment" cols="100%" rows="10" tabindex="4"></textarea></p> <p> <input name="submit" type="submit" id="submit" tabindex="5" value="<?php _e('Submit Comment', 'mandigo'); ?>" /> <input type="hidden" name="comment_post_ID" value="<?php echo $post->ID; ?>" /> </p> <?php do_action('comment_form', $post->ID); ?> </form> <?php } // end of 'whether the user is logged in or not' condition } // end of 'if comments are open' condition ?> Please, bear my English. If you need further info, please let me know. Thanks in advance Mia Quote Link to comment https://forums.phpfreaks.com/topic/124871-newbie-here-help-with-some-wordpress-theme-code-please/ Share on other sites More sharing options...
Maq Posted September 19, 2008 Share Posted September 19, 2008 My guess is that you need to define ck_display_karma(); in another class, probably an existing one. Then just call it where you want it to show up in your forum. Pardon the syntax but something like: $class_with_karma -> ck_display_karma(); Somewhere under the: foreach ($comments as $comment){ Hope this helps. Quote Link to comment https://forums.phpfreaks.com/topic/124871-newbie-here-help-with-some-wordpress-theme-code-please/#findComment-645359 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.