Спасибо всем, кто еще МОЖЕТ!
С нами с 25.07.04
Сообщения: 3875
Рейтинг: 1570
|
Добавлено: 21/05/11 в 07:58 |
Yacc: Подскажи что вписать в скобки (думаю в этом дело) is_home() в коде Код: | <?php if(is_home()){include 'нужная мне вставка';}?> |
или какую конструкцию использовать, чтобы вставка только на одной главной вставлялась, а на стр. 1,2,3 и др. нет. is_home(1) не дает результата, is_front_page() и is_front_page(1) тоже.
|
|
|
|
adult? не, не слышал...
С нами с 29.11.02
Сообщения: 1403
Рейтинг: 1225
|
Добавлено: 21/05/11 в 13:31 |
photomuza: вот вариант для показа _только_ на индексе блога:
Код: [развернуть] | <?php if(is_home() && !is_paged()){ ?>
твой текст
<?php } ?> |
|
|
|
|
Спасибо всем, кто еще МОЖЕТ!
С нами с 25.07.04
Сообщения: 3875
Рейтинг: 1570
|
Добавлено: 21/05/11 в 14:47 |
stinger: Спасибо, работает!
|
|
|
|
С нами с 22.08.08
Сообщения: 1452
Рейтинг: 440
|
Добавлено: 22/05/11 в 23:15 |
а можно ли как-то использовать данный способ Wordpress How To , но добавляя виджет не через админку, а в коде шаблона блога?
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 23/05/11 в 13:48 |
|
|
|
|
С нами с 27.09.10
Сообщения: 85
Рейтинг: 133
|
Добавлено: 23/05/11 в 14:19 |
Привет, если есть возможность и желание, хотел бы получить небольшую помощь. У меня есть в шаблоне новый тип данных вот код Код: [развернуть] | <?php
//----------------------------------------------------------------------//
// Initiate the plugin to add custom post type of "places" and "events"
//----------------------------------------------------------------------//
add_action("init", "custom_posttype_menu_wp_admin1");
function custom_posttype_menu_wp_admin1()
{
//===============Custom SECTION START================
register_post_type( 'videos',
array( 'label' => __('Videos'),
'labels' => array( 'name' => __('Video'),
'singular_name' => __('Video'),
'add_new' => __('Add Video'),
'add_new_item' => __('Add New Video'),
'edit' => __('Edit'),
'edit_item' => __('Edit Video'),
'new_item' => __('New Video'),
'view_item' => __('View Video'),
'search_items' => __('Search Videos'),
'not_found' => __('No Videos found'),
'not_found_in_trash' => __('No Videos found in trash') ),
'public' => true,
'can_export' => true,
'show_ui' => true, // UI in admin panel
'_builtin' => false, // It's a custom post type, not built in
'_edit_link' => 'post.php?post=%d',
'capability_type' => 'post',
'menu_icon' => get_bloginfo('template_url').'/images/favicon.ico',
'hierarchical' => false,
'rewrite' => array("slug" => "videos"), // Permalinks
'query_var' => "videos", // This goes to the WP_Query schema
'supports' => array( 'title',
'author',
'excerpt',
'thumbnail',
'comments',
'editor',
'trackbacks',
'custom-fields',
'revisions') ,
'show_in_nav_menus' => true ,
'taxonomies' => array('videoscategory','videostags')
)
);
// Register custom taxonomy
register_taxonomy( "videoscategory",
array( "videos" ),
array ( "hierarchical" => true,
"label" => "Category",
'labels' => array( 'name' => __('Category'),
'singular_name' => __('Category'),
'search_items' => __('Search Category'),
'popular_items' => __('Popular Category'),
'all_items' => __('All Category'),
'parent_item' => __('Parent Category'),
'parent_item_colon' => __('Parent Category:'),
'edit_item' => __('Edit Category'),
'update_item' => __('Update Category'),
'add_new_item' => __('Add New Category'),
'new_item_name' => __('New Make Category') ),
'public' => true,
'show_ui' => true,
"rewrite" => true )
);
register_taxonomy( "videostags",
array( "videos" ),
array( "hierarchical" => false,
"label" => "Tags",
'labels' => array( 'name' => __('Tags'),
'singular_name' => __('Tags'),
'search_items' => __('Video Tags'),
'popular_items' => __('Popular Video Tags'),
'all_items' => __('All Video Tags'),
'parent_item' => __('Parent Video Tags'),
'parent_item_colon' => __('Parent Video Tags:'),
'edit_item' => __('Edit Video Tags'),
'update_item' => __('Update Video Tags'),
'add_new_item' => __('Add New Video Tags'),
'new_item_name' => __('New Video Tags Name') ),
'public' => true,
'show_ui' => true,
"rewrite" => true )
);
}
//===============Custom SECTION END================
/////The filter code to get the custom post type in the RSS feed
function myfeed_request($qv) {
if (isset($qv['feed']))
$qv['post_type'] = get_post_types();
return $qv;
}
add_filter('request', 'myfeed_request');
?> |
хочу настроить постинг туда, через xml rpc, но ни как не могу найти примерчик, как это реализовать, нашел только как постить в виде страницы, а мне неадо посты. Значит так. Как я понял надо добавить метод, но в xmlrpc.php не вариант, сделаем новый файлик, чтоб потом при апдейтах не патчить xmlrpc.php но сам метод я не знаю как правильно написать. А для постинга я использую библиотеку IXR_Library.php вот примерно, то что мне надо, но это видимо не совсем то. Код: [развернуть] | <?php
define('XMLRPC_REQUEST', true);
/** Include the bootstrap for setting up WordPress environment */
require_once('wp-load.php');
require_once(ABSPATH . 'wp-admin/includes/admin.php');
require_once(ABSPATH . WPINC . '/class-IXR.php');
class XMLRPCServerExtended extends IXR_Server {
public function XMLRPCServerExtended() {
$this->IXR_Server(array(
'wp_extended.create_product' => 'this:create_product',
));
}
/**
* Создание страницы типа 'Product'.
*
* @param array $args массив с данными
* $args[0] – имя пользователя
* $args[1] – пароль
* $args[2] – массив с данными для создания поста
* (перечень полей здесь – http://codex.wordpress.org/Function_Reference/wp_insert_post)
* @return – сообщение о результате создания страницы
*/
public function create_product($args) {
$username = $args[0];
$userpass = $args[1];
$post_data = $args[2];
//проверяем логин/пароль
if ( $this->login_pass_ok( $username, $userpass ) ) {
//получаем id пользователя
$user_data = get_userdatabylogin( $username );
$post_data['post_type'] = 'example_product';
$post_data['post_author'] = $user_data->ID;
$post_data['ping_status'] = get_option( 'default_ping_status' );
//Добавляем пост
if ( 0 !== ( $post_id = wp_insert_post( $post_data ) ) ) {
return 'Created post '.$post_id;
}
return 'Post add error';
}
}
/**
* Check user's credentials.
*
* @since 1.5.0
*
* @param string $user_login User's username.
* @param string $user_pass User's password.
* @return bool Whether authentication passed.
* @deprecated use wp_xmlrpc_server::login
* @see wp_xmlrpc_server::login
*/
function login_pass_ok($user_login, $user_pass) {
if ( !get_option( 'enable_xmlrpc' ) ) {
$this->error = new IXR_Error( 405, sprintf( __( 'XML-RPC services are disabled on this site. An admin user can enable them at %s'), admin_url('options-writing.php') ) );
return false;
}
if (!user_pass_ok($user_login, $user_pass)) {
$this->error = new IXR_Error(403, __('Bad login/pass combination.'));
return false;
}
return true;
}
}
$server = new XMLRPCServerExtended();
|
|
|
|
|
Old Oil Barrel
С нами с 09.09.04
Сообщения: 58531
Рейтинг: 14265
|
Добавлено: 23/05/11 в 15:06 |
Бро, подскажи как удалить массу спам коментов апрувленных и не апрувленных не юзая пхпмуадмин и базу?
есть запросы которые это позволят сделать?
|
|
|
|
С нами с 17.02.05
Сообщения: 3999
Рейтинг: 1952
|
Добавлено: 23/05/11 в 15:46 |
1. Как сделать, чтобы при вставке тэга <!--more--> изменить надпись "Прочитать остальную часть записи »" на какую-либо другую.
2. У меня русскоязычный сайт, как лучше делать ссылки категорий? Транслитом или на русском?
P.S. И почему модераторы до сих пор не прикрепят тему???
|
|
|
|
С нами с 12.08.09
Сообщения: 619
Рейтинг: 633
|
Добавлено: 23/05/11 в 16:48 |
andrew_newman: Попробуй забить в гугл такой запрос <!--more--> изменить надпись, авось чего найдет?
Что значит транслитом? Если русский сайт, пишем по-русски. Без всяких заграничных слов и выражений (потому что кто выражения знает, по русским сайтам не ходит).
|
|
|
|
Спасибо всем, кто еще МОЖЕТ!
С нами с 25.07.04
Сообщения: 3875
Рейтинг: 1570
|
Добавлено: 23/05/11 в 18:15 |
Зачем Гугль andrew_newman: Если блог инглиш, ищешь в файлах темы <?php the_content('Read more »'); ?> и меняешь в Блокноте.
Если русский, то если правильно помню (давно делал), то задаешь поиск "Прочитать остальную часть записи" в папке wp-content/languages и правишь там, т.к. языковые варианты оттуда тянутся. Чтоб не вышли кракозябы из русских буков, надо править уже не в Блокноте, а в чем-то другом, например в Notepade, предварительно установив кодировку UTF-8 (без BOM).
|
|
|
|
С нами с 22.08.08
Сообщения: 1452
Рейтинг: 440
|
Добавлено: 24/05/11 в 10:07 |
Recent posts в категориях, хотелось бы в сайдбаре выводить последние посты той категории, в какой я на данный момент нахожусь, возможно ли такое сделать?
|
|
|
|
С нами с 23.10.03
Сообщения: 220
Рейтинг: 105
|
Добавлено: 24/05/11 в 10:27 |
как сделать (какой плагин), чтобы избранные посты показывались вверху страницы так же как здесь:
http://www.benvesco.com/blog/
нашел в коде feature_carousel.js, оно?
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 24/05/11 в 10:50 |
Iva Petro:
Решение этой задачи выходит далеко за рамки этого топика.
Да и времени сейчас совсем нет.
Sergeyka:
Есть конечно, но ты уточни как спам от не спама отделить. Или ты имеешь ввиду комменты помеченные как спам? Тогда так
<?php
$wpdb->query("DELETE FROM $wpdb->comments WHERE comment_approved = 'spam'");
?>
Или ты хочешь все комменты удалить? Тогда так
<?php
$wpdb->query("DELETE FROM $wpdb->comments");
?>
Вставляй например в footer.php и зайди на блог. Не забудь потом удалить этот код из футера.
Вообще это всё из адмнки можно сделать.
andrew_newman:
1. Например так
<!--more But wait, there's more! -->
Остальные возможности по ссылке
http://codex.wordpress.org/Customizing_the_Read_More
2. Крайне не рекомендую делать ссылки на русском. Транслитом или переводить на английский - дело хозяйское.
Gidz:
Да, возможно. Вставляй в конец functions.php своей темы
Код: [развернуть] | add_action( 'widgets_init', create_function( '', 'return register_widget( "WP_Widget_Latest_Posts" );' ) );
class WP_Widget_Latest_Posts extends WP_Widget {
function WP_Widget_Latest_Posts() {
$widget_ops = array('classname' => 'widget_latest_entries', 'description' => __( "The latest posts on your site") );
$this->WP_Widget('latest-posts', __('Latest Posts'), $widget_ops);
$this->alt_option_name = 'widget_latest_entries';
add_action( 'save_post', array(&$this, 'flush_widget_cache') );
add_action( 'deleted_post', array(&$this, 'flush_widget_cache') );
add_action( 'switch_theme', array(&$this, 'flush_widget_cache') );
}
function widget($args, $instance) {
$cache = wp_cache_get('widget_latest_posts', 'widget');
if ( !is_array($cache) )
$cache = array();
if ( isset($cache[$args['widget_id']]) ) {
echo $cache[$args['widget_id']];
return;
}
ob_start();
extract($args);
$title = apply_filters('widget_title', empty($instance['title']) ? __('Latest Posts') : $instance['title'], $instance, $this->id_base);
if ( ! $number = absint( $instance['number'] ) )
$number = 10;
$a = array( 'posts_per_page' => $number, 'nopaging' => 0, 'post_status' => 'publish', 'ignore_sticky_posts' => true );
if( is_category() ) {
$a['cat'] = get_cat_ID( single_cat_title( '', false ) );
}
$r = new WP_Query( $a );
if ($r->have_posts()) :
?>
<?php echo $before_widget; ?>
<?php if ( $title ) echo $before_title . $title . $after_title; ?>
<ul>
<?php while ($r->have_posts()) : $r->the_post(); ?>
<li><a href="<?php the_permalink() ?>" title="<?php echo esc_attr(get_the_title() ? get_the_title() : get_the_ID()); ?>"><?php if ( get_the_title() ) the_title(); else the_ID(); ?></a></li>
<?php endwhile; ?>
</ul>
<?php echo $after_widget; ?>
<?php
// Reset the global $the_post as this query will have stomped on it
wp_reset_postdata();
endif;
$cache[$args['widget_id']] = ob_get_flush();
wp_cache_set('widget_latest_posts', $cache, 'widget');
}
function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['title'] = strip_tags($new_instance['title']);
$instance['number'] = (int) $new_instance['number'];
$this->flush_widget_cache();
$alloptions = wp_cache_get( 'alloptions', 'options' );
if ( isset($alloptions['widget_latest_entries']) )
delete_option('widget_latest_entries');
return $instance;
}
function flush_widget_cache() {
wp_cache_delete('widget_latest_posts', 'widget');
}
function form( $instance ) {
$title = isset($instance['title']) ? esc_attr($instance['title']) : '';
$number = isset($instance['number']) ? absint($instance['number']) : 5;
?>
<p><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?></label>
<input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" /></p>
<p><label for="<?php echo $this->get_field_id('number'); ?>"><?php _e('Number of posts to show:'); ?></label>
<input id="<?php echo $this->get_field_id('number'); ?>" name="<?php echo $this->get_field_name('number'); ?>" type="text" value="<?php echo $number; ?>" size="3" /></p>
<?php
}
} |
Собственно это переименованный в Latest Posts дефолтный виджет Recent Posts (wp-includes/default-widgets.php) с небольшими изменениями (выделено красным ).
Последний раз редактировалось: Yacc (24/05/11 в 10:56), всего редактировалось 1 раз
|
|
|
|
С нами с 27.09.10
Сообщения: 85
Рейтинг: 133
|
Добавлено: 24/05/11 в 10:56 |
эх жаль а не подскажешь, как PostRatings подружить с мультисатом? на главном работает, а на сабах нет, или может есть альтернатива какая?
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 24/05/11 в 11:00 |
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 24/05/11 в 11:02 |
Iva Petro писал: | а не подскажешь, как PostRatings подружить с мультисатом? на главном работает, а на сабах нет, или может есть альтернатива какая? |
Сейчас нет времени разбираться - не обессудь.
|
|
|
|
Old Oil Barrel
С нами с 09.09.04
Сообщения: 58531
Рейтинг: 14265
|
Добавлено: 24/05/11 в 13:32 |
Yacc: и че я в тебя такой влюбленный (с)
|
|
|
|
С нами с 12.08.09
Сообщения: 619
Рейтинг: 633
|
Добавлено: 24/05/11 в 15:51 |
Sergeyka писал: | Yacc: и че я в тебя такой влюбленный (с) |
Дак блог же по сути получается...
Yacc, колись где твой блог...
|
|
|
|
С нами с 22.08.08
Сообщения: 1452
Рейтинг: 440
|
Добавлено: 24/05/11 в 21:21 |
использую такой код в function.php, что бы выводить на главной странице анонсы с картинками
Код: [развернуть] | function the_excerpt2($post, $count = 30) {
if(empty($post)) {
the_excerpt();
return false;
}
$content = trim(strip_tags($post->post_content));
$content = explode(' ', $content);
$content = array_slice($content, 0, $count);
$content = implode(' ', $content);
preg_match('/src=\"(.*)\"/Usi', $post->post_content, $img);
if(!empty($img[1])) $img = '<img src="'.$img[1].'" />';
else $img = '';
echo '<p style="text-align: center;">'.$img.'</p>'.$content.' [...]'; return true;
return true;
} |
хотелось бы, что бы <img src="'.$img[1].'" /> было вида
< href=""><img src="'.$img[1].'" alt="" title="" /></a>
тоесть добавлялись ссылки и альты как в постах.
Как то можно достать и добавить эту информацию? потом еще у меня например в некоторых постах не 1 а несколько картинок, а при таком виде выводится только 1 первая картинка, пробовал менять if(!empty($img[1])) $img = '<img src="'.$img[1].'" />'; на if(!empty($img[2])) $img = '<img src="'.$img[2].'" />'; , но так ничего вообще не выводит.
И еще не совсем по wordpress, но раз уж начал, может кто подскажет, есть ли смысл использовать < href=""><img src="'.$img[1].'" alt="" title="" /></a> для СЕ, или же может будет лучше сделать некликабельную картинку с небольшим анонсом к ней на главной странице, а при переходе к посту, что бы была полноценная кликабельная пикча со всеми альтами и тайтлами и полный текст к ней?
|
|
|
|
С нами с 17.02.05
Сообщения: 3999
Рейтинг: 1952
|
Добавлено: 25/05/11 в 05:43 |
Yacc писал: | 2. Крайне не рекомендую делать ссылки на русском. Транслитом или переводить на английский - дело хозяйское.
|
Ага я транслитом сразу делал. А как быть с тегами (метками) (они на русском у меня)? Можно ли их в Sitemap добавлять?
Также появились вопросы:
1. Как изменить во всех постах определенные данные, например тот же тег <!--more--> поменять на другой?
2. Как заставить WordPress вставлять картинки по нормальному. То есть Главная картинка вставляется визардом, но чтобы при нажатии на нее он переходил не на страничку описания картинки, а открывал бы в новом окне исходное полноразмерное изображение.
|
|
|
|
С нами с 10.07.03
Сообщения: 1425
Рейтинг: 1288
|
Добавлено: 26/05/11 в 01:12 |
stinger писал: | photomuza: вот вариант для показа _только_ на индексе блога:
|
А есть вариант в виде виджета, + еще по категориям, или виджет текста с указание категории морды или архива.
Спрашиваю по причине того что в WP MU напряжно каждый раз по фтп менять код.
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 28/05/11 в 09:01 |
Gidz писал: | Как то можно достать и добавить эту информацию? |
Если продолжать жрать кактус, то preg_match_all вместо preg_match и выбирать не только аттрибуты src, но и alt.
Это задача для другого раздела.
Когда тебя заебёт кактус аттач картинки к посту, не надо их все в пост пихать, для этого есть shortcode [gallery].
Вот как можно получить все картинки приаттаченные к данному посту, вместе со всеми аттрибутами:
Код: | <?php
function get_attached_images( $post_id, $size = 'full', $types = array( 'image/jpeg' ) ) {
$images = array();
foreach( get_posts( 'post_type=attachment&post_parent=' . $post_id ) as $attachment ) {
if( in_array( $attachment->post_mime_type, $types ) ) {
$wpsrc = wp_get_attachment_image_src( $attachment->ID, $size );
$images[] = array(
'title' => $attachment->post_title,
'caption' => $attachment->post_excerpt,
'description' => $attachment->post_content,
'alt' => get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true ),
'src' => $wpsrc[0],
'width' => $wpsrc[1],
'height' => $wpsrc[2]
);
}
}
return $images;
}
?> |
и где-то в цикле...
Код: | <?php
foreach( get_attached_images( get_the_id() ) as $a ) {
echo '<img src="' . $a['src'] . '" alt="' . $a['alt'] . '" width="' . $a['width'] . '" height="' . $a['height'] . '" />';
}
?> |
andrew_newman писал: | 1. Как изменить во всех постах определенные данные, например тот же тег <!--more--> поменять на другой? |
Например вставить в footer.php
Код: | <?php
// -1 - значит все посты. Имей ввиду.
foreach( get_posts( 'posts_per_page=-1' ) as $p ) {
$content = str_replace( '<!--more-->', '<!--more Something new here-->', $p->post_content );
$wpdb->update( $wpdb->posts, array( 'post_content' => $content ), array( 'ID' => $p->ID ) );
}
?> |
и обновить страницу в браузере. Не забудь потом убрать этот код из футера.
andrew_newman писал: | Как заставить WordPress вставлять картинки по нормальному. |
Всё нормально он вставляет. Когда картинку вставляешь можно выбрать куда её линковать.
|
|
|
|
worldtraffic.trade
С нами с 20.08.06
Сообщения: 2836
Рейтинг: 2309
|
Добавлено: 28/05/11 в 11:02 |
Yacc: подскажи если знаешь, есть ли плагин который выводит отсчет времени до публикации нового поста?
так что бы время бралось автоматом и созданного поста который в ожидании
поиском нашел
Live Countdown Timer,Countdown Timer но тут надо самому врея прописывать, что не совсем подходит
идеальный вариант, я создал пост, автоматом создается таймер и выводится на главную страницу в формате название и час/мин/сек
|
|
|
|
С нами с 17.02.05
Сообщения: 3999
Рейтинг: 1952
|
Добавлено: 28/05/11 в 15:13 |
Yacс, золотой ты человек
|
|
|
|
Осень .... опять в школу ;-((
С нами с 01.05.04
Сообщения: 6518
Рейтинг: 3998
|
Добавлено: 29/05/11 в 15:09 |
дел
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |
|
Спонсор раздела
|