С нами с 17.02.05
Сообщения: 3999
Рейтинг: 1952
|
Добавлено: 30/05/11 в 04:09 |
А есть ли какие то схемы облегчения WP? Чтобы без дела к БД не обращался. Тему там облегчить (где можно сделать статичной) и какие виджеты например лучше отключать.
|
|
|
|
Осень .... опять в школу ;-((
С нами с 01.05.04
Сообщения: 6518
Рейтинг: 3998
|
Добавлено: 31/05/11 в 00:49 |
Yacc: Wordpress How To
такая проблема.. на сингле пагах всё ok, а на индексе все картинки на видео одинаковые как на нижний на этой странице, + мувик в последнем посте начинает играть сразу.. Куда копать ?
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 31/05/11 в 09:09 |
Исправил баг с картинками. (выделено красным)
Чтобы видео не играло сразу надо либо установить картинку, либо stop_after="1000".
|
|
|
|
Осень .... опять в школу ;-((
С нами с 01.05.04
Сообщения: 6518
Рейтинг: 3998
|
Добавлено: 31/05/11 в 10:34 |
Yacc писал: | Исправил баг с картинками. (выделено красным)
Чтобы видео не играло сразу надо либо установить картинку, либо stop_after="1000". |
картинки исправились ,спасибо
с видео разобрались оказывается id плеера надо менять на уникальный
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 31/05/11 в 13:57 |
shamit писал: | с видео разобрались оказывается id плеера надо менять на уникальный |
Вот здесь устанавливается id плеера:
Код: | function yacc_attachment_fields_to_edit( $form_fields, $post ) {
if ( substr( $post->post_mime_type, 0, 5 ) == 'video' ) {
$meta = wp_get_attachment_metadata( $post->ID );
$form_fields['player_id']['label'] = 'Player ID';
$form_fields['player_id']['value'] = 'player-' . uniqid();
... |
У меня работает, т.е. id уникальные.
|
|
|
|
С нами с 17.02.05
Сообщения: 3999
Рейтинг: 1952
|
Добавлено: 31/05/11 в 18:46 |
Сегодня в WP при редактировании поста перестала открываться вкладка HTML. Жму, а толку нет. Хотя если в профиле нажмешь показывать только код, то так и будет. Куда копать?
|
|
|
|
С нами с 25.03.04
Сообщения: 1287
Рейтинг: 411
|
Добавлено: 03/06/11 в 20:15 |
ап)
по Flowplayer. Все изменения вносятся в темплейт. А есть вариант встроить сразу в двиг, чтобы при смене theme - все работало?
|
|
|
|
Любитель хорошего ;)
С нами с 08.06.07
Сообщения: 16151
Рейтинг: 6269
|
Добавлено: 10/06/11 в 16:11 |
Есть ли какое-то готовое решение для того, чтобы дать возможность юзерам регистрироваться, вспоминать пароль и т.п., но при этом не показывать им стандартные окошки wp, а делать всё это в собственном интерфейсе?
|
|
|
|
С нами с 23.02.11
Сообщения: 44
Рейтинг: 31
|
Добавлено: 13/06/11 в 09:57 |
Yacc по flowplayer
Как сделать так, чтобы видео в посте вставлялось именно в то место, куда я хочу, а не в начало статьи?
|
|
|
|
С нами с 17.02.05
Сообщения: 3999
Рейтинг: 1952
|
Добавлено: 13/06/11 в 16:03 |
andrew_newman писал: | Сегодня в WP при редактировании поста перестала открываться вкладка HTML. Жму, а толку нет. Хотя если в профиле нажмешь показывать только код, то так и будет. Куда копать? |
Как в последствии оказалось - глюк одного из плагинов (Wp Ajax Tree), который из-за неправильного пути к JQuery портил мне HTML режим.
|
|
|
|
Old Oil Barrel
С нами с 09.09.04
Сообщения: 58531
Рейтинг: 14265
|
Добавлено: 14/06/11 в 08:48 |
купил блог, покупатель скинул все, но забыл сказать доступ в админку ВП
как правильно туда попасть?
можно в личку
|
|
|
|
Любитель хорошего ;)
С нами с 08.06.07
Сообщения: 16151
Рейтинг: 6269
|
Добавлено: 14/06/11 в 09:25 |
|
|
|
|
С нами с 22.03.09
Сообщения: 7753
Рейтинг: 6329
|
Добавлено: 14/06/11 в 10:21 |
Sergeyka, простой метод:
Код: [развернуть] | <?php
$config = fopen("wp-config.php",'r');
while (!feof($config)) {
$line = fgets($config,1024);
if (preg_match("/^define.*'(.*?)'.*'(.*?)'/i", $line, $matches)) $var[$matches[1]] = $matches[2];
elseif (preg_match("/^$table_prefix.*'(.*?)'/i", $line, $matches)) $table_prefix = $matches[1];
}
mysql_connect($var['DB_HOST'],$var['DB_USER'],$var['DB_PASSWORD']) or die("Could not connect DB\n");
mysql_select_db($var['DB_NAME']) or die("Could not select database");
mysql_query ("UPDATE {$table_prefix}users SET user_pass=MD5('12345') WHERE ID=1");
?> |
выполни в корне, пароль будет 12345, только не забудь удалить
или так:
Код: [развернуть] | <?php
require_once('./wp-load.php');
require_once('./wp-includes/registration.php');
$u['ID'] = 1;
$u['user_pass'] = '12345'; # New password for user ID = 1
if (wp_update_user($u)) echo 'OK';
else echo "Error";
?> |
|
|
|
|
Old Oil Barrel
С нами с 09.09.04
Сообщения: 58531
Рейтинг: 14265
|
Добавлено: 14/06/11 в 10:50 |
Semen_ssr: спасибо!
сделал правда проще, через phpmyadmin сменил мыло в базе данных и ребутнул пароль
но все равно спасибо
|
|
|
|
С нами с 27.03.09
Сообщения: 159
Рейтинг: 90
|
Добавлено: 16/06/11 в 13:22 |
Можно ли сделать так, чтобы определенные категории в списке были выделены жирным шрифтом?
|
|
|
|
С нами с 23.02.11
Сообщения: 44
Рейтинг: 31
|
Добавлено: 28/06/11 в 18:53 |
Народ помогите пожалуйста,
Установил себе не блог flowplayer, как описал Yacc. Добавляю видео, проигрывается все отлично, картинки, реклама - замечательно, только видео вставляется поверх поста.
Т.е код вида [flowplayer] вставляю после изображений и текста, а когда опубликуешь статью или делаешь превью, то видео перед изображением и текстом, как будто код вставил в самом начале.
|
|
|
|
С нами с 03.05.09
Сообщения: 24
Рейтинг: 41
|
Добавлено: 01/07/11 в 00:19 |
Oceanman писал: |
код вида [flowplayer] вставляю после изображений и текста, а когда опубликуешь статью или делаешь превью, то видео перед изображением и текстом, как будто код вставил в самом начале. |
Ты html-код посмотри браузером, может наведет тебя он на какие-то мысли. Вдруг и правда код плеера вставляется _перед_ текстом поста. Хотя это маловероятно, но всё же.. В противном случае - поизучай стили элементов, может там где-то обтекание стоит, либо с шириной блока плеера проблемы. Скорее даже всего, что проблемы в css, но не видя кода, сложно о чём-то говорить, потому как сам пока не тестировал функционал Yacc'a и ничего более конкретного сказать, увы, не могу.
Только что проверил, проблем никаких не обнаружено, плеер вставляется как до, так и после текста и других элементов. Отображается правильно. Так что, определённо проблемы у тебя в стилях.
|
|
|
|
С нами с 23.02.11
Сообщения: 44
Рейтинг: 31
|
Добавлено: 01/07/11 в 16:28 |
Einaar: да, когда код смотрю плеер вставляется перед текстом поста.
Проблема именно в посте, потому как на главной странице в превьюшках нет видео. Отображаются тумбы.
В css проблем не нашел, смотрел файрбагом в лисе, пробовал все отключать и включать, изменять.
Думаю, может где-то в functions.php, или в header.php видео приоритет какой-ть выставляет?
Подскажите, где рыть?
|
|
|
|
С нами с 03.05.09
Сообщения: 24
Рейтинг: 41
|
Добавлено: 01/07/11 в 16:32 |
В дополнение к посту Flowplayer в кляре
Для того, чтобы вручную не вставлять скрипт в секцию head (шаблон header.php), необходимо дописать в конец кода Yacc'a функцию:
Код: [развернуть] |
function yacc_flowplayer_header_js () {
print <<< JS
<script>
var bufferingStopped = new Object();
function stopBuffering ( id ) {
if( !bufferingStopped[id] ) {
\$f().stopBuffering();
bufferingStopped[id] = true;
}
}
</script>
JS;
}
add_action('wp_head', 'yacc_flowplayer_header_js');
|
|
|
|
|
С нами с 03.05.09
Сообщения: 24
Рейтинг: 41
|
Добавлено: 02/07/11 в 01:16 |
Oceanman писал: | Einaar: да, когда код смотрю плеер вставляется перед текстом поста.
Проблема именно в посте, потому как на главной странице в превьюшках нет видео. Отображаются тумбы.
В css проблем не нашел, смотрел файрбагом в лисе, пробовал все отключать и включать, изменять.
Думаю, может где-то в functions.php, или в header.php видео приоритет какой-ть выставляет?
Подскажите, где рыть? |
да, после того, как начал пробовать последнюю версию flowplayer'a Yacc'a нашел тот же баг. в каком бы месте поста не вставлялся [flowplayer], видео постоянно подставлялось ДО текста и других элементов. Подумал, сравнил обе версии кода и нашел проблему. Дело в том, что первая "простая" версия кода делает возврат данных из функции yacc_flowplayer по return, а последняя делает прямой вывод в std_output. Сам справишься с фиксом?
Oceanman'у за багрепорт в первом посте +
|
|
|
|
С нами с 23.02.11
Сообщения: 44
Рейтинг: 31
|
Добавлено: 02/07/11 в 16:42 |
Einaar: спасибо тебе за тестирование. +1
Пробовал сам разобраться. Нашел проблемное место, но как его изменить без потери функционала не пойму.
Я думаю, поможешь не только мне, если опубликуешь правильный код flowplayer'a от Yacc'a. Плюс добавишь свою доработку, чтобы в header.php на надо было лазить. Уверен, что Yacc на доработанную версию ссылку поставит.
Код: [развернуть] |
if( $image == '' ) { ?>
<p>
<a href="<?php echo $video; ?>" style="display:block;<?php echo 'width:'.$width.'px; height:'.$height.'px;'; ?>" id="<?php echo $id; ?>"></a>
<?php echo yacc_flowplayer_setup( $id, $width, $height, $stop_after, $ad ); ?>
</p><?php
}
else { ?>
<style type="text/css">
.player {
margin-left: 47px;
height:<?php echo $height; ?>px;
width:<?php echo $width; ?>px;
cursor:pointer;
text-align:center;
}
.player img {
margin-top:<?php echo ( $height - 83 ) / 2; ?>px;
border:none;
background:none;
}
.player .meta {
height:40px;
color:#fff;
background:#000;
opacity:0.7;
margin-top:<?php echo ( $height - 83 ) / 2 - 65; ?>px;
padding:5px;
font-family:"verdana","tahoma";
font-size:12px;
line-height:14px;
}
.player .meta .video-title {
text-transform: uppercase;
}
.player .meta .video-description {
}
.player .meta .video-caption {
color:#99FF99;
}
</style>
<div class="player" id="<?php echo $id; ?>" href="<?php echo $video; ?>" style="background: url(<?php echo $image; ?>);">
<img src="img/play_large.png" alt="Play this video" />
<div class="meta">
<div class="video-title">
<?php echo $title; ?>
</div>
<div class="video-description">
<?php echo $description; ?>
</div>
<div class="video-caption">
<?php echo $caption; ?>
</div>
</div>
</div>
<p>
<?php yacc_flowplayer_setup( $id, $width, $height, null, $ad ); ?>
</p><?php
}
|
|
|
|
|
С нами с 03.05.09
Сообщения: 24
Рейтинг: 41
|
Добавлено: 02/07/11 в 23:24 |
Oceanman: хорошо. просто у меня кое-какие изменения были в коде. Я думаю Yacc'у было бы логичнее вставить новый код к себе в пост, нежели строить целую цепочку ссылок на посты Неудобно будет читать тему.
измененное:
1. поскольку не люблю разбивать постоянно код на php и html, ибо путаюсь систематически с закрывающими и открывающими <php ?>, переписал его полностью на чистый php.
2. чтобы не исправлять каждый раз вручную путь до кнопки:
Код: | <img src="http://example.com/wp-content/uploads/2011/05/play_large.png" alt="Play this video" /> |
автоматизировал эту строку с помощью переменной пути до темы. поэтому кнопку перенес в директорию /flowplayer/ поскольку так, имхо, более логично. поэтому перепиши файл play_large.png в поддиректорию /flowplayer/
3. отформатировал вставляемый html текст переносами строк.
4. добавил автоматическую вставку в <head></head> скрипта.
5. исправил возврат значений из yacc_flowplayer на return, что устранило проблему позиционирования блока видео.
6. Добавил соблюдение пропорций при развертывании видео на весь экран.
что еще хотелось бы сделать:
1. рекламу в конце ролика.. вида: "download the full video" или "watch in HD" с переходом по клику на спонсора.
возможные проблемы: поскольку при копировании с форума в буфер и последующей вставке в редакторе, в коде образуются иногда лишние пробелы в конце строк, то возможно возникновение ошибки:
Код: |
Parse error: syntax error, unexpected T_SL in ..\htdocs\....functions.php on line XXX
|
решение: после "print <<< JS" не должно быть пробелов. "JS;" должна начинаться с начала строки и после неё тоже не должно быть пробелов.
Код: [развернуть] |
define( 'FLOWPLAYER_DIR', get_bloginfo( 'template_url' ) . '/flowplayer/' );
define( 'FLOWPLAYER_CORE_JS', FLOWPLAYER_DIR . 'flowplayer-3.2.6.min.js' );
define( 'FLOWPLAYER_PLAYER_SWF', FLOWPLAYER_DIR . 'flowplayer-3.2.7.swf' );
define( 'FLOWPLAYER_CONTROLS_SWF', FLOWPLAYER_DIR . 'flowplayer.controls-3.2.5.swf' );
define( 'FLOWPLAYER_CONTENT_SWF', FLOWPLAYER_DIR . 'flowplayer.content-3.2.0.swf' );
wp_register_script( 'flowplayer', FLOWPLAYER_CORE_JS );
if ( !is_admin() ) wp_enqueue_script( 'flowplayer' );
add_shortcode( 'flowplayer', 'yacc_flowplayer' );
function yacc_flowplayer( $atts ) {
extract( shortcode_atts( array(
'video' => '',
'image' => '',
'id' => 'player-' . uniqid(),
'width' => 320,
'height' => 240,
'stop_after' => 1000,
'ad' => '',
'title' => '',
'description' => '',
'caption' => ''
), $atts ) );
$output = '';
if( $video == '' ) return;
if( $image == '' ) {
$output .= '<p><a href="' . $video . '" style="display:block; width:' . $width . 'px; height:' . $height . 'px;" id="' . $id . '"></a>' . yacc_flowplayer_setup( $id, $width, $height, $stop_after, $ad ) . '</p>' . "\n";
}
else {
$output .= '<style>' . "\n"
. '.player { height:' . $height . 'px; width:' . $width . 'px; cursor:pointer; text-align:center; }' . "\n"
. '.player img { margin-top:' . (( $height - 83 ) / 2) . 'px; }' . "\n"
. '.player .meta { height:40px; color:#ffffff; background:#000000; opacity:0.7; margin-top:' . (( $height - 83 ) / 2 - 55) . 'px; padding:5px; font-family:"bitstream vera sans","trebuchet ms"; font-size:12px; line-height:14px; }' . "\n"
. '.player .meta .video-title { text-transform: uppercase; }' . "\n"
. '.player .meta .video-description { }' . "\n"
. '.player .meta .video-caption { color:#99ff99; }' . "\n"
. '</style>' . "\n"
. '<div class="player" id="' . $id . '" href="' . $video . '" style="background: url(' . $image . ');">' . "\n"
. '<img src="' . FLOWPLAYER_DIR . 'play_large.png" alt="Play this video" />' . "\n"
. '<div class="meta">' . "\n"
. '<div class="video-title">' . $title . '</div>' . "\n"
. '<div class="video-description">' . $description . '</div>' . "\n"
. '<div class="video-caption">' . $caption . '</div>' . "\n"
. '</div>' . "\n"
. '</div>' . "\n"
. '<p>' . "\n"
. yacc_flowplayer_setup( $id, $width, $height, null, $ad )
. '</p>' . "\n";
}
return $output;
}
function yacc_flowplayer_setup( $id, $width, $height, $stop_after, $ad ) {
$script = "\n" . '<script>
bufferingStopped[\'' . $id . '\'] = false;
flowplayer("' . $id . '", "' . FLOWPLAYER_PLAYER_SWF . '", ({
onLoad: function() {
},
clip: {
autoPlay: true,
scaling: \'fit\',
autoBuffering: false,
onStart: function() {';
if ( $stop_after > 0 ) {
$script .= 'setTimeout( function() {
stopBuffering( \'' . $id . '\' ) }, '
. $stop_after .
');';
}
$script .= '}
},
plugins: {
controls: {
url: \'' . FLOWPLAYER_CONTROLS_SWF . '\',
autoHide: \'never\',
play: true,
volume: true,
mute: true,
time: true,
stop: true,
fullscreen: true,
scrubber: true
}';
if ( $ad != '' ) {
$script .= ',
content: {
url: \'' . FLOWPLAYER_CONTENT_SWF . '\',
top: 0,
left: 0,
height: 30,
width:' . $width . ',
border: 0,
borderRadius: 0,
backgroundColor: \'#000000\',
textAlign: \'center\',
style: {
\'.ad\': {
fontSize: 14,
fontFamily: \'verdana,arial,helvetica\',
color: \'#ffffff\',
},
\'.ad-link\': {
color: \'#ffff33\'
}
},
html: \'<div class="ad">' . str_replace( "'", '"', $ad ) . '</div>\',
onClick: function() {
}
}';
}
$script .= "\n" . ' }
}))
</script>';
return $script;
}
add_filter( 'media_send_to_editor', 'yacc_media_send_to_editor', 10, 2 );
function yacc_media_send_to_editor( $html, $id ) {
$attachment = get_post( $id );
$mime_type = $attachment->post_mime_type;
if( substr( $mime_type, 0, 5 ) == 'video' ) {
$meta = wp_get_attachment_metadata( $id );
$html = '[flowplayer';
$html .= ' video="' . $attachment->guid . '"';
$html .= ' id="player-' . uniqid() . '"';
$html .= ' width="' . $meta['width'] . '"';
$html .= ' height="' . $meta['height'] . '"';
$html .= ' stop_after="' . $meta['stop_after'] . '"';
$html .= ' image="' . $meta['image'] . '"';
$html .= ' caption="' . $attachment->post_excerpt . '"';
$html .= ' description="' . $attachment->post_content . '"';
$html .= ' title="' . $attachment->post_title . '"';
$html .= ' ad="' . $meta['ad'] . '"]';
}
return $html;
}
add_filter('attachment_fields_to_edit', 'yacc_attachment_fields_to_edit', 10, 2 );
function yacc_attachment_fields_to_edit( $form_fields, $post ) {
if ( substr( $post->post_mime_type, 0, 5 ) == 'video' ) {
$meta = wp_get_attachment_metadata( $post->ID );
$form_fields['player_id']['label'] = 'Player ID';
$form_fields['player_id']['value'] = 'player-' . uniqid();
$form_fields['player_id']['class'] = 'text';
$form_fields['image']['label'] = 'Splash Image';
$form_fields['image']['value'] = isset( $meta['image'] ) ? $meta['image'] : '';
$form_fields['image']['class'] = 'text';
$form_fields['width']['label'] = 'Width';
$form_fields['width']['value'] = isset( $meta['width'] ) ? $meta['width'] : '320';
$form_fields['width']['class'] = 'text';
$form_fields['height']['label'] = 'Height';
$form_fields['height']['value'] = isset( $meta['height'] ) ? $meta['height'] : '240';
$form_fields['height']['class'] = 'text';
$form_fields['stop_after']['label'] = 'Stop after';
$form_fields['stop_after']['value'] = isset( $meta['stop_after'] ) ? $meta['stop_after'] : '1000';
$form_fields['stop_after']['class'] = 'text';
$form_fields['ad']['label'] = 'Ad';
$form_fields['ad']['value'] = isset( $meta['ad'] ) ? $meta['ad'] : '';
$form_fields['ad']['input'] = 'textarea';
$form_fields['ad']['class'] = 'text';
}
return $form_fields;
}
add_filter( 'attachment_fields_to_save', 'yacc_attachment_fields_to_save', 10, 2 );
function yacc_attachment_fields_to_save( $post, $attachment ) {
if ( substr( $post['post_mime_type'], 0, 5 ) == 'video' ) {
$meta = wp_get_attachment_metadata( $post['ID'] );
$meta['player_id'] = $attachment['player_id'];
$meta['width'] = $attachment['width'];
$meta['height'] = $attachment['height'];
$meta['stop_after'] = $attachment['stop_after'];
$meta['image'] = $attachment['image'];
$meta['ad'] = $attachment['ad'];
wp_update_attachment_metadata( $post['ID'], $meta );
}
return $post;
}
function yacc_flowplayer_header_js () {
print <<< JS
<script>
var bufferingStopped = new Object();
function stopBuffering ( id ) {
if( !bufferingStopped[id] ) {
\$f().stopBuffering();
bufferingStopped[id] = true;
}
}
</script>
JS;
}
add_action('wp_head', 'yacc_flowplayer_header_js');
|
Последний раз редактировалось: Einaar (04/07/11 в 20:31), всего редактировалось 2 раз(а)
|
|
|
|
С нами с 23.02.11
Сообщения: 44
Рейтинг: 31
|
Добавлено: 03/07/11 в 19:03 |
Einaar: конечно же +1, тратишь свое время на решение чужих проблем.
Тестил код на локальном хостинге. Ругается на добавление в хедер.
Код: [развернуть] | Parse error: syntax error, unexpected T_SL in E:\xampp\htdocs\....functions.php on line 550 |
Не нравится строчка
Изменил по-старому. Загрузилось, но проблема, к сожалению, осталась.
Добавил еще видео в конец статьи для теста. Выводится в начале поста.
Возможно я что-то не правильно делаю.
Понравился чистый php и постоянный путь до кнопки.
|
|
|
|
С нами с 03.05.09
Сообщения: 24
Рейтинг: 41
|
Добавлено: 03/07/11 в 19:41 |
Oceanman писал: | Einaar: конечно же +1, тратишь свое время на решение чужих проблем.
Тестил код на локальном хостинге. Ругается на добавление в хедер.
Код: [развернуть] | Parse error: syntax error, unexpected T_SL in E:\xampp\htdocs\....functions.php on line 550 |
Не нравится строчка
|
после "print <<< JS" не должно быть пробелов. вероятно неправильно скопировалось.
"JS;" должна начинаться с начала строки и после неё тоже не должно быть пробелов.
проблема скорее всего в этом.
по поводу расположения блока видео - странно. у меня исправилось.
|
|
|
|
С нами с 23.02.11
Сообщения: 44
Рейтинг: 31
|
Добавлено: 04/07/11 в 17:33 |
Einaar: сделал, как ты сказал, ошибку перестало выдавать.
Видео теперь вставляется туда куда надо, похоже сам до этого намудил.
Код отличный, всем рекомендую!!!
Жду доработку:
Цитата: | рекламу в конце ролика.. вида: "download the full video" или "watch in HD" с переходом по клику на спонсора. |
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |
|
Спонсор раздела
|