Archive for February, 2011

Meet WP e-Commerce Product Showroom Plugin – a custom list of products

I’m proud to present you my new WordPress plugin. It’s “WP e-Commerce Product Showroom“, a product list that you can customize through a widget on wp-admin and fit to your layout needs using a little bit of css.
Estou orgulhoso em apresentar a vocês meu novo plugin WordPress. É o “WP e-Commerce Product Showroom”, uma lista de produtos que você pode customizar através de um widget no wp-admin e adequar às suas necessidades de layout com um pouco de css.

If you are working with “WP e-Commerce”, all you have to do to is to follow the next simple steps:
Se você está trabalhando com “WP e-Commerce”, tudo que você deve fazer é seguir os próximos passos simples:

1. Upload wp_e_showrp folder to the /wp-content/plugins/ directory
Subir a pasta wp_e_showrp para o diretório /wp-content/plugins/
2. Activate the plugin through the ‘Plugins’ menu in WordPress
Ativar o plugin através do menu ‘Plugins’ no WordPress.
3. Register a widget sidebar on your functions file, for example, just paste the code bellow on your theme functions.php
Registrar um sidebar widget no seu arquivo functions, por exemplo cole o código abaixo no functions.php de seu tema.

<if ( function_exists('register_sidebar') ) register_sidebar(array( 'name' => 'wp_e_showrp', 'before_widget' => '', 'after_widget' => '', 'before_title' => '', 'after_title' => '', ));>

Or

You if you have already registered any sidebar, you can drag the WP e-Commerce Product Showroom widget inside it, at wp-admin
Ou, se você já tem uma sidebar registrada, você pode arrastar o widget WP e-Commerce Product Showroom para dentro dela, no wp-admin.
1. Configure the widget on your wp-admin pannel and save
Configure o widget no seu painel wp-admin e salve.
2. Use the PHP code bellow where you want the widget to show, on your theme pages
Use o código PHP abaixo onde você quer que o widget apareça, nas páginas de seu tema

<if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('wp_e_showrp')) : endif;>

Now, the best part… 😉
Agora a melhor parte… 😉

As the result div uses a css class(showrpdiv), you can play with it and make the product list look like you want. Check the example bellow. If you put this on the same page you call the plugin, the list will change as you wish.
Como o div de resultado usa uma classe css(showrpdiv), você pode brincar com ela e fazer a lista de produtos aparecer como você quiser. Se você colocar um código como o abaixo na mesma página onde chama o plugin, a lista vai mudar como você desejar.

.showrpdiv{ float:left; } 
.showrpdiv ul a{ color:red; } 
.showrpdiv li{list-style: none;}

I hope you find it useful and helpful on your WordPress e-commerce projects.
Espero que você ache útil e que possa lhe ajudar em seus projetos de e-commerce com WordPress.

Advertisements

, ,

4 Comments

Registering and Displaying WordPress Custom Post Types In a Very Easy Way

This post was moved to http://www.wpworking.com/category/custom-post-types-2/


In WordPress, you can define custom post types. It means that you can have on you wp-admin menu, more menu items, besides “Posts”, “Midia”, “Links”, “Pages”, etc, and work with your new post type as you do with the default menus, categorizing, adding content, etc.
No WordPress, você pode definir tipos de posts personalizados. Isso significa que você pode ter no seu menu do wp-admin, mais itens de menu além de “Posts”, “Mídia”, “Links”, “Páginas”, etc, e trabalhar com els como faz com os tipos padrão, categorizando, adicionando conteúdo, etc.

Let’s create a new custom post type. Open your functions.php file, on your theme directory, and paste the code bellow.
Vamos criar um novo tipo de post personalizado Abra seu arquivo functions.php, no diretório de seu tema, e cole o código abaixo.

// The register_post_type() function is not to be used before the 'init'.
add_action( 'init', 'videos_init' );

/* Here's how to create your customized labels */
function videos_init() {
	$labels = array(
		'name' => _x( 'Videos', 'custom post type generic name' ), // Tip: _x('') is used for localization
		'singular_name' => _x( 'Videos', 'individual custom post type name' ),
		'add_new' => _x( 'Add New', 'add' ),
		'add_new_item' => __( 'Add New Video' ),
		'edit_item' => __( 'Edit Video' ),
		'new_item' => __( 'New Video' ),
		'view_item' => __( 'View Video' ),
		'search_items' => __( 'Search Videos' ),
		'not_found' =>  __( 'No Video Found' ),
		'not_found_in_trash' => __( 'No Video Found in trash' ),
		'parent_item_colon' => ''
	);

	// Create an array for the $args
	$args = array( 'labels' => $labels, /* NOTICE: the $labels variable is used here... */
		'public' => true,
		'publicly_queryable' => true,
		'show_ui' => true,
		'query_var' => true,
		'rewrite' => true,
		'capability_type' => 'post',
		'hierarchical' => false,
		'menu_position' => null,
		'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' )
	); 

	register_post_type( 'video', $args ); /* Register it and move on */
}

Now you got a new menu on your wp-admin, called Videos. For further info about the register_post_type() function, visit the Codex.
Agora você tem um novo menu no seu wp-admin, chamado Videos. Para mais informações sobre a função register_post_type(), visite o Codex.

What about creating a category and a tag for this new Videos menu? Paste the code bellow on your functions.php
Que tal criar uma categoria e uma tag para este novo menu Videos? Cole o código abaixo em seu arquivo functions.php

// hook into the init action and call create_book_taxonomies() when it fires
add_action( 'init', 'create_video_taxonomies', 0 );

// create two taxonomies, genres and writers for the post type "videos"
function create_video_taxonomies() {

	// Add new taxonomy, make it hierarchical (like categories)
	$labels = array(
		'name' => _x( 'Genres', 'taxonomy general name' ),
		'singular_name' => _x( 'Genres', 'taxonomy singular name' ),
		'search_items' =>  __( 'Search Genres' ),
		'all_items' => __( 'All Genres' ),
		'parent_item' => __( 'Main Genre' ),
		'parent_item_colon' => __( 'Main Genre:' ),
		'edit_item' => __( 'Edit Genre' ),
		'update_item' => __( 'Update Genre' ),
		'add_new_item' => __( 'Add Genre' ),
		'new_item_name' => __( 'New Genre Name' ),
	); 	

	register_taxonomy( 'genre', array( 'video' ), array(
		'hierarchical' => true,
		'labels' => $labels, /* NOTICE: Here is where the $labels variable is used */
		'show_ui' => true,
		'query_var' => true,
		'rewrite' => array( 'slug' => 'genre' ),
	));
	// Add new taxonomy, NOT hierarchical (like tags)
	$labels = array(
		'name' => _x( 'Actor', 'Actor Name' ),
		'singular_name' => _x( 'Actor', 'Individual Actor Name' ),
		'search_items' =>  __( 'Search Actors' ),
		'popular_items' => __( 'Popular Actors' ),
		'all_items' => __( 'All Actors' ),
		'parent_item' => null,
		'parent_item_colon' => null,
		'edit_item' => __( 'Edit Actors' ),
		'update_item' => __( 'Update Actor' ),
		'add_new_item' => __( 'Add New Actor' ),
		'new_item_name' => __( 'New Actor Name' ),
		'separate_items_with_commas' => __( 'Separate Actors With Commas' ),
		'add_or_remove_items' => __( 'Add or Remove Actors' ),
		'choose_from_most_used' => __( 'Choose From Most Used Actors' )
	);
	register_taxonomy( 'actor', 'video', array(
		'hierarchical' => false,
		'labels' => $labels, /* NOTICE: the $labels variable here */
		'show_ui' => true,
		'query_var' => true,
		'rewrite' => array( 'slug' => 'actor' ),
	));
} // End of create_video_taxonomies() function.

We’ve created two taxonomies for the custom post type video. Genre(hierarchical), works as a category. Actor(not hierarchical), works as a tag. For further info about the register_taxonomy() function, visit the Codex.
Nós criamos duas taxonomias para o tipo de post personalizado video. Genre(hierárquica), funciona como uma categoria. Actor(não hierárquica) funciona como uma tag. Para maiores informações sobre a função register_taxonomy() , visite o Codex.

So much hard working! Now let’s have fun 🙂 , let’s display the posts.
Quanta trabalheira! Agora vamos nos divertir 🙂 , vamos exibir os posts.

<?
// * if you want to work with the genre category on your query
// $wp_query = new WP_Query(array('post_type' => 'video', 'genre' => 'scifi','posts_per_page' => -1));
//
// * if you want to work with the actor tag on your query
// $wp_query = new WP_Query(array('post_type' => 'video', 'genre' => 'scifi','actor' => 'keanureaves','posts_per_page' => -1));
//
$wp_query = new WP_Query(array('post_type' => 'video', 'genre' => 'scifi','actor' => 'keanureaves','posts_per_page' => -1));
if (have_posts()) :
     while (have_posts()) : the_post();
?>
     <div>
       <h3><a href="<?the_permalink();?>"><?=get_the_title();?></a></h3>
     </div>
     <div>
       <p><?=get_the_content();?></p>
     </div>
<?
    endwhile;
else:
?>
     <div>
       <p>No registers found.</p>
     </div>
<?
endif;
?>

That’s all folks. Copy, past and make it work. The code above was tested a lot, please let me know about any issue.
Era isso pessoal. Copiem, colem e façam acontecer. O código acima foi bastante testado, por favor me mantenham informado sobre qualquer dificuldade.

,

23 Comments

Pass form values to WordPress query_posts(category name / category id) function to retrieve posts from a specific category

I was taking a look at WordPress Support Forum and found this doubt, about how to pass form values to the query_posts function to retrieve posts from a specific category.
Eu etava dando uma olhada no Forum de Suporte WordPress e achei esta dúvida, sobre como passar valores de formulários para a função query_posts, para retornar posts de uma categoria específica.

First of all, there’s a difference between working with the category name and the category id as parameters:
Primeiramente, há uma diferença entre trabalhar com o nome da categoria e o id da categoria como parâmetros:

//working with the category name
$catnam = $_GET["catnam"]; // or $_POST["catnam"]; // using GET or POST depends on your form submit method
query_posts("category_name=$catnam");

//working with the category id
$catid = $_GET["catid"]; // or $_POST["catid"]; //using GET or POST depends on your form submit method
query_posts("cat=$catid");

Well, now let’s see the complete code.
Bem, agora vamos ver o código completo.

<?
//category name or id
$catid = $_GET["catid"];

// passing the parameters to query_posts
query_posts("cat=$catid");

if (have_posts()) :
     while (have_posts()) : the_post();				 	
?>
     <div>
       <h3><a href="<?php the_permalink();?>"><?=get_the_title();?></a></h3>
     </div>
     <div>
       <p><?=get_the_content();?></p>
     </div>
<?
    endwhile;     
else:
?>
     <div>
       <p>No registers found.</p>								
     </div>
<?
endif;
?> 

Maybe you will enjoy taking a look on another post, where I talk about page navigation on Category Pages.
Talvez você curta dar uma olhada em outro post, onde eu falo sobre navegação de página em Páginas de Categoria.

,

2 Comments

Display WordPress Post List With Custom Size Thumbnails(the first image of each post)

This post moved to http://www.wpworking.com/general/display-wordpress-post-list-with-custom-size-thumbnails/

Note:

Maybe you will like to take a look on my Get Post List With Thumbnails plugin, wich is a evolution of the function bellow and you can configure and use as widget.

The function bellow, shows a list with posts and custom size thumbnails(for the post first image), linked to each post permalink. You can use it wherever you want, and you can choose a category(not required) and the number of posts(not required). Two simple steps:
A função abaixo mostra uma lista de posts com thumbnails de tamanho customizável(para a primeira imagem de cada post), linkados ao link permanente de cada post. Você pode usar onde quiser, e pode escolher uma categoria(não obrigatório) e o número de posts(não obrigatório). Dois passos simples:

1) Put this function on “functions.php” file, in your template folder:
1) Coloque esta função no arquivo “functions.php”, na pasta de seu template.

<?
// display a list of posts with custom size thumbnails, using the post first image
function getPostList($categ='',$postnr=20){
	// $categ = category name - not required
	// $postnr = number of posts you want to display - not required
	$htmlcod .= "<div id='div_postlist' style='border:1px red solid'>"."\n";
	// 
	if (have_posts()) : 				
		global $post;
	    // here we check if the user has chosen a category
	    if($categ!=''){
	      $strquery = "numberposts=".$postnr."&category_name=". $categ;				
	    }
	    else{
	      $strquery =  "numberposts=".$postnr;
	    }
			 
	    // here we get the posts
	    $myposts = get_posts($strquery);
			 		 
	    // if we want, we can display the number of registers found
	    //echo sizeof($myposts);
			 
	    if($myposts):
		 // here we go in the loop
		foreach($myposts as $post) :				 	
                    // getting the first image of the post to make the thumb
                    $args = array(
                        'post_type' => 'attachment',
                        'numberposts' => -1,
                        'post_status' => null,
                        'post_parent' => $post->ID
                    ); 
                    $attachments = get_posts($args);
                    
                    // here we set the variable for the attachment string
                    $imgsrc = "";
                    if ($attachments):
                        // here we take the first image and break the loop
                        foreach ($attachments as $attachment) {
                             // this brings the attachment array $imgobj = wp_get_attachment_image_src($attachment->ID);
                             // if you use the line obove, you can call $imgobj[0] to get the image source 
                            // you can set the thumbnail dimensions, here we use 40 x 40
                            $imgsrc = wp_get_attachment_image($attachment->ID, array(40,40), $icon = false);
                            break;
                        }
                    endif;
                    // here we start to build the return html code
                        $htmlcod .= "<p><a href='". get_permalink()."' title='". get_the_title() ."'>";
                        $htmlcod .= get_the_time('d/m/Y')."-".get_the_title();
                        $htmlcod .= "</a></p>"."\n";	
                    // if the post has at least one image attached, we display it
                    if($imgsrc!=""):
                        $htmlcod .= "<p>";                                	
                        $htmlcod .= "<a href='". get_permalink() ."' title='". get_the_title() ."'>";
                        $htmlcod .= $imgsrc; 
                        $htmlcod .= "</a>"."\n";       
                        $htmlcod .= "</p>"."\n";															
                    endif;								
		endforeach;     
	    else:
			// here goes the message, if there is no results to display
			$htmlcod = "<div>"."\n";
			$htmlcod .= "<p>No registers found.</p>"."\n";								
			$htmlcod .= "</div>"."\n";
	    endif;			
	endif;
        $htmlcod .= "</div>";
	return $htmlcod;
}
?>

2) Call the function wherever you want:
2) Chame a função, onde quiser.

// e.g. - no category, twenty(20) posts 
<? echo getPostList('',20); ?>

or

// e.g. - 'musicposts' category name, no number of posts, but the function uses 20 as default
<? echo getPostList('musicposts');  ?>

or

 // e.g. - 'gameposts' category name, no number of posts, 5 posts
<? echo getPostList('gameposts',5); ?>

Hope you find it useful.

, , ,

12 Comments

%d bloggers like this: