Спрашиваем и отвечаем по Wordpress-6

S@shka
На сайте с 27.09.2009
Offline
157
#141

Суть проблемы: реализовать простое комментирование.

коммент может оставить любой, при этом можно подписаться (указать свое имя). далее комент уходит на модерацию.

в одобренном комменте выводим имя, сам коммент, дату.

в шаблоне используется огромное количества кода, хотеться почистить, чтобы снизить нагрузку на сайт, но самому боязно. думаю для многих сайтов на WP актуально


<?php // Do not delete these lines
if ('comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
die ('Please do not load this page directly. Thanks!');

if (!empty($post->post_password)) { // if there's a password
if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie
?>
<p class="nocomments">Защищено паролем. Введите пароль для просмотра.</p>
<?php
return;
}
}
?>
<?php if ($comments) : ?>
<h3>Отзывы</h3>
<ul class="commentlist">
<?php foreach ($comments as $comment) : ?>
<?php
$isByAuthor = false;
if($comment->comment_author_email == get_the_author_email()) {
$isByAuthor = true;
}?>
<div class="commentlist">
<li id="comment-<?php comment_ID() ?>" <?php if($isByAuthor ) { echo 'class="my_comment"';} ?>>
<div class="clearfloat">
<div class="commenttext">
<cite><strong><?php comment_author_link() ?> <?php if($isByAuthor ) { echo '(author)';} ?> </strong> пишет: </cite>
<?php if ($comment->comment_approved == '0') : ?>
<p><em>Ваш отзыв уже отправлен на модерацию.</em></p>
<?php endif; ?>
<span itemprop="reviewBody"><?php comment_text() ?></span>
</div>
</div>
<div class="commentmetadata"><?php comment_date('j F Y') ?> в <?php comment_time() ?></div>
</li>
<?php endforeach; /* end for each comment */ ?>
</ul>
<?php else : // this is displayed if there are no comments so far ?>
<?php if ('open' == $post->comment_status) : ?>
<!-- Если комментарии открыты, но их нет. -->
<?php else : // comments are closed ?>
<!-- Если комментарии закрыты. -->
<?php endif; ?>
<?php endif; ?>
<?php if ('open' == $post->comment_status) : ?>
<p id="respond">Оставить отзыв о <?php the_title(); ?></p>
<?php if ( get_option('comment_registration') && !$user_ID ) : ?>
<p>Пожалуйста, <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>"> зарегистрируйтесь
</a> чтобы оставить отзыв.</p>
<?php else : ?>
<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
<?php if ( $user_ID ) : ?>
<p>Добро пожаловать, <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" >Выход &raquo;</a></p>
<?php else : ?>
<p>Оставьте отзыв и помогите другим пользователям.</p>
<p><input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="22" tabindex="1" class="field" />
<small>Имя <?php if ($req) echo "(обязательно)"; ?></small></p>
<?php endif; ?>
<p><textarea name="comment" id="comment" cols="100%" rows="15" tabindex="4"></textarea></p>
<div class="right">
<p><input name="submit" class="searchbutton" type="submit" id="submit" tabindex="5" value="Отправить отзыв" />
</div>
<input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />
</p>
<?php do_action('comment_form', $post->ID); ?>
</form>
<?php endif; // If registration required and not logged in ?>
<?php endif; ?>
SeVlad
На сайте с 03.11.2008
Offline
1609
#142
Doctar:
выслал данные в личку

А я просил? А подпись зачем трудился - писал?

S@shka:
Суть проблемы: реализовать простое комментирование.
коммент может оставить любой, при этом можно подписаться (указать свое имя). далее комент уходит на модерацию.
в одобренном комменте выводим имя, сам коммент, дату.

Это стандартная "фича" ВП. В чем проблема-то? Почистить код шаблона? :) Забей. Яйца выеденного не стоит. Есть более другие возможности оптимизирования сайта. (начиная с картинок, js-скриптов, стилей и внешних коннектов)

S@shka:
думаю для многих сайтов на WP актуально

:) Не актуально

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
Doctar
На сайте с 21.07.2010
Offline
25
#143
SeVlad:
А я просил? А подпись зачем трудился - писал?

Ясно, провтыкал, сорри. Ну, значит, вставляю вот это:

<a title="заглавие анкора" href="http://сайт.com/.html">заглавие анкора</a>

а в итоге "http:" пропадает.

SeVlad
На сайте с 03.11.2008
Offline
1609
#144
Doctar:
Ну, значит, вставляю вот это:

куда?

10 раз

J
На сайте с 21.08.2011
Offline
78
#145

Doctar, похоже, что какой-то php/js код вырезает 'http:'.

Узнать, JS или PHP -- отключить JS в браузере и посмотреть на ссылки. Если http отсутствует, то -- PHP код. Если нет -- JS.

---------- Добавлено 18.10.2013 в 18:29 ----------

SeVlad:
куда?

Кстати, да, тоже резонный вопрос.

Doctar
На сайте с 21.07.2010
Offline
25
#146

Сорри, ребята, вынужден вас покинуть - уезжаю на рыбалку, в понедельник продолжим, если вы не против.)

S@shka
На сайте с 27.09.2009
Offline
157
#147

Вопрос по миниатюрам.

Сейчас заметил, что миниатюра к некоторым записям выводится иногда с добавленным в название файла разрешением.

Пример: прикрепляю к записи миниатюру kartinka-mini.jpg,

в качестве миниатюры в категории задается kartinka-mini.jpg,

а когда миниатюра показывается на странице записи (как похожая, при помощи плагина Yet Another Related Posts Plugin), файл называется kartinka-mini-120x120.jpg

Как во втором случае сделать вывод файла kartinka-mini.jpg, дабы не плодить одинаковых картинок.

<?php
/*
* YARPP's built-in thumbnails template
* @since 4
*
* This template is used when you choose the built-in thumbnails option.
* If you want to create a new template, look at yarpp-templates/yarpp-template-example.php as an example.
* More information on the custom templates is available at http://mitcho.com/blog/projects/yarpp-3-templates/
*/

if ( !$this->diagnostic_using_thumbnails() )
$this->set_option( 'manually_using_thumbnails', true );

$options = array( 'thumbnails_heading', 'thumbnails_default', 'no_results' );
extract( $this->parse_args( $args, $options ) );

// a little easter egg: if the default image URL is left blank,
// default to the theme's header image. (hopefully it has one)
if ( empty($thumbnails_default) )
$thumbnails_default = get_header_image();

$dimensions = $this->thumbnail_dimensions();

$output .= '<p><strong>' . $thumbnails_heading . '</strong></p>' . "\n";

if (have_posts()) {
$output .= '<div class="yarpp-thumbnails-horizontal"><table ><tr align="left" valign="top">' . "\n";
while (have_posts()) {
the_post();

$output .= "<td><a class='yarpp-thumbnail' href='" . get_permalink() . "' title='" . the_title_attribute('echo=0') . "'>" . "\n";

$post_thumbnail_html = '';
if ( has_post_thumbnail() ) {
if ( $this->diagnostic_generate_thumbnails() )
$this->ensure_resized_post_thumbnail( get_the_ID(), $dimensions );
$post_thumbnail_html = get_the_post_thumbnail( null, $dimensions['size'] );
}

if ( trim($post_thumbnail_html) != '' )
$output .= $post_thumbnail_html;
else
$output .= '<img src="' . esc_url($thumbnails_default) . '"/>';

$output .= '' . get_the_title() . '';
$output .= '</a></td>' . "\n";

}
$output .= "</tr></table></div>\n";
} else {
$output .= $no_results;
}

$this->enqueue_thumbnails( $dimensions );
SeVlad
На сайте с 03.11.2008
Offline
1609
#148
S@shka:
Как во втором случае сделать вывод файла kartinka-mini.jpg, дабы не плодить одинаковых картинок.

Насколько я понимаю - если исходный размер не больше будущей миниатюры, то тумбы не создаются ;)

S@shka
На сайте с 27.09.2009
Offline
157
#149

SeVlad, и действительно...

немного увеличил размер создаваемой плагином тумбы - и дубли больше не создаются. Спасибо.

Egoistik
На сайте с 15.01.2013
Offline
57
#150

Здравствуйте ребята,

подскажите пожалуйста такая ситуация взял шаблон а он не поддерживает русский шрифт и не корректно отображает в отличии от англ пример inteb.com.ua подскажите как можно решить даную проблему

Заранее спасибо

Помогу с мелкими вопросами по Wordpress ICQ- 448858859, Skype- oman6661

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий