2015-01-20 5 views
0

Это для людей, строящих системы комментариев Wordpress. Этот код определяет сообщение после нажатия «reply».Показать имя пользователя в зависимости от логина

Цель состоит в том, чтобы получить либо имя, введенное в «автора» форме, или идентификатор пользователя (с помощью PHP), в зависимости от того, если человек вошел в систему.

success: function(data, textStatus){ 
    if(data=="success"){ 
    var avatar = "<?php echo get_avatar($id_or_email, 48,'/Avatar.png'); ?>"; 
    var author = "<?php if (is_user_logged_in()) : ?><?php echo $user_identity; ?><?php else :?>"jQuery('#author').val() ; 
    var authorurl = "<?php the_author_meta('user_url'); ?>"; 
    var timestamp = "<?php printf(__('%1$s at %2$s'), get_comment_date(), get_comment_time()) ?>"; 
    var commenttext = jQuery('#comment').val(); 

    jQuery('<li class="new-post">'+'<div class="comment-author vcard">'+avatar+ 
    '<div class="comment-meta">'+'<b>'+'<a href="authorurl">'+author+'</b>'+'</a>'+ 
    '<div class="comment-time-stamp">'+timestamp+'</div>'+'</div>'+'</div>'+ 
    '<div class="comment-text">'+'<p>'+'<pre class="new-post-pre">'+commenttext+'</pre>'+'</p>'+'</div>'+'</li>').insertBefore(respond); 
     statusdiv.html('<p class="ajax-success" ></p>'); 
} 

Это где проблема является:

var author = "<?php if (is_user_logged_in()) : ?><?php echo $user_identity; ?><?php else :?>"jQuery('#author').val() ; 
+1

Это вопрос или какой-то код патч? В любом случае без дополнительного контекста совершенно неясно, в чем проблема: – charlietfl

+0

Это не патч. Это только часть jQuery списка комментариев ajax. Полный код находится здесь: http://pastebin.com/UHnPgf4J Раздел i подчеркнул, что проблема определяет, что имя пользователя при публикации. Он должен использовать php, если они вошли в систему и jQuery, если они не являются. Мне интересно, как заставить его работать. Почему отрицательная репутация? – BlueHelmet

+0

Возможно, потому что (как сказал @charlietfl) вы просто подбросили кучу кода и не объяснили все это хорошо - вы не объяснили, что именно вы хотите, вы не упомянули, что происходит, и сделали не упомянул о том, что вы пробовали. – patricksweeney

ответ

1

Вы не хватает endif в вашем PHP коде и двойные кавычки в неположенном месте (если я хорошо понимаю вопрос):

var author = <? if (is_user_logged_in()) : echo '"'.$user_identity.'"'; else: ?> jQuery('#author').val() <? endif; ?>; 
+0

Большое спасибо. Я получаю это сейчас. Тег «php» был избыточным. Отсутствие «endif» имеет смысл. Если бы я мог поддержать, я бы! – BlueHelmet

+0

Ох. ха. Готово. Благодаря! – BlueHelmet

Смежные вопросы