Zadejte hledaný výraz...

Jak omezit počet odkazů na image

External
verified
rating uzivatele
(6 hodnocení)
5. 7. 2016 16:19:28
Dobrý den,
ve svém templatu attachment.php používám následující kód prozobrazení odkazů na různé velikosti obrázků:

Downloads:

$images = array();
$image_sizes = get_intermediate_image_sizes();
array_unshift( $image_sizes, 'full' );
foreach( $image_sizes as $image_size ) {
$image = wp_get_attachment_image_src( get_the_ID(), $image_size );
$name = $image_size . ' (' . $image . 'x' . $image . ')';
$images[] = '' . $name . '';
}
echo implode( ' | ', $images );
?>

Zde je příklad zobrazení:
Problém ale je, že se zobrazují všechny velikosti a já bych rád viděl pouze první 4:
full (960x640) | thumbnail (150x150) | medium (300x200) | medium_large (640x427) | large (640x427)
Jak upravit kod aby se vylistovaly pouze první 4 velikosti?
5. 7. 2016 16:19:28
https://webtrh.cz/diskuse/jak-omezit-pocet-odkazu-na-image/#reply1208295
Nevim jestli to chapu spravne ale ... bud to zmen na krokovy cyklus nebo si tam pridej nejaky counter a pokud bude 4, tak se vykona break ? :D
5. 7. 2016 16:26:19
https://webtrh.cz/diskuse/jak-omezit-pocet-odkazu-na-image/#reply1208294
$images = array();
$image_sizes = get_intermediate_image_sizes();
array_unshift( $image_sizes, 'full' );
$i = 1;
foreach( $image_sizes as $image_size ) {
while ($i <= 4) {
$image = wp_get_attachment_image_src( get_the_ID(), $image_size );
$name = $image_size . ' (' . $image . 'x' . $image . ')';
$images[] = '' . $name . '';
$i++;
}
}
echo implode( ' | ', $images );
?>
5. 7. 2016 17:17:05
https://webtrh.cz/diskuse/jak-omezit-pocet-odkazu-na-image/#reply1208293
tomve
verified
rating uzivatele
(22 hodnocení)
5. 7. 2016 17:34:35
Jelikož jsem nevěděl, co / jaké array vrácí get_intermediate_image_size(), tak jsem mrkl na codex a hned v example to je řešeno:
foreach ( get_intermediate_image_sizes() as $_size ) {
//toto if
if ( in_array( $_size, array('thumbnail', 'medium', 'medium_large', 'large') ) ) {
$sizes = get_option( "{$_size}_size_w" );
$sizes = get_option( "{$_size}_size_h" );
$sizes = (bool) get_option( "{$_size}_crop" );
} elseif ( isset( $_wp_additional_image_sizes ) ) {
$sizes = array(
'width' => $_wp_additional_image_sizes,
'height' => $_wp_additional_image_sizes,
'crop' => $_wp_additional_image_sizes,
);
}
}
5. 7. 2016 17:34:35
https://webtrh.cz/diskuse/jak-omezit-pocet-odkazu-na-image/#reply1208292
External
verified
rating uzivatele
(6 hodnocení)
5. 7. 2016 18:37:22
Napsal w3Dominik;1306394
$images = array();
$image_sizes = get_intermediate_image_sizes();
array_unshift( $image_sizes, 'full' );
$i = 1;
foreach( $image_sizes as $image_size ) {
while ($i <= 4) {
$image = wp_get_attachment_image_src( get_the_ID(), $image_size );
$name = $image_size . ' (' . $image . 'x' . $image . ')';
$images[] = '' . $name . '';
$i++;
}
}
echo implode( ' | ', $images );
?>
Tato varianta bohužel zobrazí 4x full, takže nefunguje
---------- Příspěvek doplněn 05.07.2016 v 18:37 ----------
Napsal Tomve;1306398
Jelikož jsem nevěděl, co / jaké array vrácí get_intermediate_image_size(), tak jsem mrkl na codex a hned v example to je řešeno:
foreach ( get_intermediate_image_sizes() as $_size ) {
//toto if
if ( in_array( $_size, array('thumbnail', 'medium', 'medium_large', 'large') ) ) {
$sizes = get_option( "{$_size}_size_w" );
$sizes = get_option( "{$_size}_size_h" );
$sizes = (bool) get_option( "{$_size}_crop" );
} elseif ( isset( $_wp_additional_image_sizes ) ) {
$sizes = array(
'width' => $_wp_additional_image_sizes,
'height' => $_wp_additional_image_sizes,
'crop' => $_wp_additional_image_sizes,
);
}
}
Pokud copy pastnu tento kod, tak to nefunguje
5. 7. 2016 18:37:22
https://webtrh.cz/diskuse/jak-omezit-pocet-odkazu-na-image/#reply1208291
tomve
verified
rating uzivatele
(22 hodnocení)
5. 7. 2016 19:05:19
Zkopíruj tento

Downloads:

$images = array();
$image_sizes = get_intermediate_image_sizes();
array_unshift( $image_sizes, 'full' );
if (in_array( $image_sizes, array('thumbnail', 'medium', 'medium_large', 'large', 'full') ) ) {
foreach( $image_sizes as $image_size ) {
$image = wp_get_attachment_image_src( get_the_ID(), $image_size );
$name = $image_size . ' (' . $image . 'x' . $image . ')';
$images[] = '' . $name . '';
}
echo implode( ' | ', $images );
}
?>

5. 7. 2016 19:05:19
https://webtrh.cz/diskuse/jak-omezit-pocet-odkazu-na-image/#reply1208290
Pro odpověď se přihlašte.
Přihlásit