← WordPress

[Desafio] - Várias imagens em destaque, na listagem de categorias, sem plugins

Lida 2479 vezes

Offline

muiomuio 
Membro
Mensagens 324 Gostos 0
Feedback +1

Troféus totais: 23
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 4 Level 3 Level 2 Level 1 100 Posts 50 Posts

Boas,

O desafio é o seguinte:

No template de arquivo de categoria conseguir colocar 2 imagens diferentes que são definidas por quem escreve o conteúdo.

  • Uma imagem grande para destaque
  • Outra imagem diferente que ficará como "icon"

Este "icon" aparece apenas na página de listagem e é diferente de artigo em artigo, mesmo que dentro da mesma categoria.

---------------------------------------------------------
Regras:
- Não utilizar plugins (para quem quiser plugins para o efeito fica a dica: http://wordpress.org/extend/plugins/multiple-post-thumbnails/)

- Não copiar código de plugins.

- Bombardear esta thread com ideias para resolver esta questão
----------------------------------------------------------

Qualquer um pode participar, não precisa de apresentar código apenas a ideia e eventualmente desenvolver o raciocinio.
Offline

muiomuio 
Membro
Mensagens 324 Gostos 0
Feedback +1

Troféus totais: 23
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 4 Level 3 Level 2 Level 1 100 Posts 50 Posts

O meu contributo inicial é um tanto obvio.
A ideia era utilizar 2 ou mais featured images para o efeito, no entanto mesmo utilizando o plugin que mencionei acima, será complicado controlar o tamanho da imagem.

Por exemplo se o icon pode ter no máximo 80x80 e alguém ficar upload de uma imagem maior com o plugin não encontrei nenhuma forma de dizer que quero um tamanho específico da imagem. Para além de que na versão 3.4.1 o botão para adicionar ao post por vezes não funcionava.
Offline

Nuno 
Administrador
Mensagens 7780 Gostos 216
Feedback +2

Troféus totais: 42
Trófeus: (Ver todos)
100 Poll Votes Level 7 Search Mobile User Level 6 Super Combination Combination Topic Starter 50 Poll Votes 10 Poll Votes

O wordpress faz isso por padrão... Se a tua theme não tiver isso activado só tens de activar essa opção pelo functions.php, tal como a imagem de destaque do post.
Offline

RicardoCrz 
Membro
Mensagens 60 Gostos 0
Feedback +1

Troféus totais: 16
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 50 Posts 10 Posts First Post Karma

O wordpress faz isso por padrão... Se a tua theme não tiver isso activado só tens de activar essa opção pelo functions.php, tal como a imagem de destaque do post.

Nuno lê lá bem o post.

Pelo que percebi isto é quase um jogo, tens que dizer como resolvias o exercício, podes usar o código ou simplesmente dizer como fazias.
Offline

Nuno 
Administrador
Mensagens 7780 Gostos 216
Feedback +2

Troféus totais: 42
Trófeus: (Ver todos)
100 Poll Votes Level 7 Search Mobile User Level 6 Super Combination Combination Topic Starter 50 Poll Votes 10 Poll Votes

Nuno lê lá bem o post.

Pelo que percebi isto é quase um jogo, tens que dizer como resolvias o exercício, podes usar o código ou simplesmente dizer como fazias.

Foi o que fiz...
functions.php
Código: [Seleccione]
add_theme_support( 'post-thumbnails' );
add_theme_support( 'post-formats' );

O resto é markup... Problem solved!
Offline

Pedro Lopes 
Beta tester
Mensagens 3568 Gostos 18
Feedback +6

Troféus totais: 32
Trófeus: (Ver todos)
Level 6 Windows User Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3

Bastante básico e já existe aqui uma dezena de tópicos com as explicações...

No function.php:
Código: [Seleccione]
/** Miniaturas */
if ( function_exists( 'add_theme_support' ) ) {
   add_theme_support( 'post-thumbnails' );
     set_post_thumbnail_size( 250, 250, true );
     add_image_size( 'icon', 100, 100, true );
}
/** END Miniaturas */

Onde queres que apareça o icon(dentro da query de posts):
Código: [Seleccione]
if ( has_post_thumbnail() )
   the_post_thumbnail('icon');
else
   echo '<img src="http://site.com/sem-miniatura_icon.png" width="100" height="100" alt="" title="" />';

E a imagem maior, de destaque:
Código: [Seleccione]
if ( has_post_thumbnail() )
   the_post_thumbnail('thumbnail');
else
   echo '<img src="http://site.com/sem-miniatura.png" width="250" height="250" alt="" title="" />';

Et voila...
Offline

muiomuio 
Membro
Mensagens 324 Gostos 0
Feedback +1

Troféus totais: 23
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 4 Level 3 Level 2 Level 1 100 Posts 50 Posts

Ainda não tive oportunidade de trabalhar com o post-formats mas pelo que percebi serve apenas para indicar tipos específicos de posts, um pouco ao género do Tumblr (imagem, galeria, etc).

O post-thumbnails permite aceder à opção de associar 1 imagem de destaque a esse post, com o add_image_size() posso especificar variações de tamanho dessa imagem especifica. O que não serve para o caso.

Tentanto com attachments embora possa fazer upload de vários, seria necessário especificar qual deles é o destaque principal e qual é o destaque secundário, sendo que poderá ter outras imagens utilizadas no meio do conteúdo.

A solução rápida seria ter 2 ou mais caixas de featured images. Mas o desafio está em conseguir "replicar" isso sem ter de ir martelar no core do WordPress.
Offline

STronic 
Elite
Mensagens 546 Gostos 8
Feedback +5

Troféus totais: 30
Trófeus: (Ver todos)
Mobile User Search Apple User Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3

Ainda não tive oportunidade de trabalhar com o post-formats mas pelo que percebi serve apenas para indicar tipos específicos de posts, um pouco ao género do Tumblr (imagem, galeria, etc).

O post-thumbnails permite aceder à opção de associar 1 imagem de destaque a esse post, com o add_image_size() posso especificar variações de tamanho dessa imagem especifica. O que não serve para o caso.

Tentanto com attachments embora possa fazer upload de vários, seria necessário especificar qual deles é o destaque principal e qual é o destaque secundário, sendo que poderá ter outras imagens utilizadas no meio do conteúdo.

A solução rápida seria ter 2 ou mais caixas de featured images. Mas o desafio está em conseguir "replicar" isso sem ter de ir martelar no core do WordPress.

Então seria criar uma box para um custom field para seleccionar um dos anexos como 2ª imagem... não me parece dificil... listar os anexos numa dropdown e seleccionar a segunda imagem
Offline

muiomuio 
Membro
Mensagens 324 Gostos 0
Feedback +1

Troféus totais: 23
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 4 Level 3 Level 2 Level 1 100 Posts 50 Posts

A ideia que tenho é que, salvo erro, os anexos apenas pode ser anexos de 1 post, que é quando é feito o upload do ficheiro. Penso que não consigo dizer a uma imagem que já exista na Media Library para ser anexo de vários posts.

Assim sendo quando o utilizador quiser utilizar uma imagem que já exista na media library, com os anexos terá de fazer novamente, upload da imagem. O que torna esta opção inviável.
Offline

STronic 
Elite
Mensagens 546 Gostos 8
Feedback +5

Troféus totais: 30
Trófeus: (Ver todos)
Mobile User Search Apple User Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3

A ideia que tenho é que, salvo erro, os anexos apenas pode ser anexos de 1 post, que é quando é feito o upload do ficheiro. Penso que não consigo dizer a uma imagem que já exista na Media Library para ser anexo de vários posts.

Assim sendo quando o utilizador quiser utilizar uma imagem que já exista na media library, com os anexos terá de fazer novamente, upload da imagem. O que torna esta opção inviável.

Pois, aí estariamos a atribuir a imagem a um post anexando-a na hora da criação do post.

Se a intenção é utilizar a mesma imagem a selecção terá de ser outra... Agora a imagem será completamente aleatória ou haverá alguma "lista de imagens a usar" ?
A opção de escolher de entre todas as imagens existentes no Media Library secalhar seria um pouco para o pesada...
Offline

muiomuio 
Membro
Mensagens 324 Gostos 0
Feedback +1

Troféus totais: 23
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 4 Level 3 Level 2 Level 1 100 Posts 50 Posts

A imagem pode já existir na media library ou não. Independentemente da situação é sempre o utilizador que irá definir quais as imagens a utilizar.

Por exemplo publicando um artigo sobre um produto, o destaque secundário poderá ser o logótipo da empresa que desenvolve o produto e o destaque principal uma imagem relacionada com o produto em si.