Modificare funzione php

Shyson

Utente Attivo
19 Ago 2012
1.145
1
38
Questo codice mette a video l'icona della busta sia che c'è un commento o no, io vorrei fare in modo che la busta appare solo se c'è almeno un commento

PHP:
if ( ! function_exists( 'donovan_entry_comments' ) ) :
    /**
     * Displays the post comments
     */
    function donovan_entry_comments() {

        // Check if comments are open or we have at least one comment.
        if ( comments_open() || get_comments_number() ) :
            ?>

            <div class="entry-comments">

                <?php
                // Display Comments.
                echo donovan_get_svg( 'mail' );
                comments_popup_link(
                    esc_html__( 'Leave a comment', 'donovan' ),
                    esc_html__( 'One comment', 'donovan' ),
                    esc_html__( '% comments', 'donovan' )
                );
                ?>

            </div>

            <?php
        endif;
    }
endif;
 
Ultima modifica:

luigithen

Utente Attivo
31 Mar 2020
35
3
8
potresti provare ad utilizzare una funzione come questa

PHP:
<?php if(!empty($utente['message'])): ?>
    <div class="author-box-job"><?php echo $utente['message']; ?></div>
  <?php endif; ?>
 

marino51

Utente Attivo
28 Feb 2013
2.920
164
63
Lombardia
scusa ho percepito che dovesse sparire tutto l'insieme, invece deve sparire sola la busta,
lascia OR come in originale e modifica la riga
PHP:
                if ( get_comments_number() ) echo donovan_get_svg( 'mail' );
 

marino51

Utente Attivo
28 Feb 2013
2.920
164
63
Lombardia
bene !

trovo che la funzione donovan_get_svg possa essere interessante,
puoi pubblicarla (solo lei) ?
 

Shyson

Utente Attivo
19 Ago 2012
1.145
1
38
hai pubblicato solo le prime righe, manca tutto il pezzo interessante
Codice:
<?php
/**
 * SVG icons related functions and filters
 *
 * @package Donovan
 */

/**
 * Return SVG markup.
 *
 * @param string $icon SVG icon id.
 * @return string $svg SVG markup.
 */
function donovan_get_svg( $icon = null ) {
    // Return early if no icon was defined.
    if ( empty( $icon ) ) {
        return;
    }

    // Create SVG markup.
    $svg = '<svg class="icon icon-' . esc_attr( $icon ) . '" aria-hidden="true" role="img">';
    $svg .= ' <use xlink:href="' . get_parent_theme_file_uri( '/assets/icons/genericons-neue.svg#' ) . esc_html( $icon ) . '"></use> ';
    $svg .= '</svg>';

    return $svg;
}


/**
 * Add dropdown icon if menu item has children.
 *
 * @param  string $title The menu item's title.
 * @param  object $item  The current menu item.
 * @param  array  $args  An array of wp_nav_menu() arguments.
 * @param  int    $depth Depth of menu item. Used for padding.
 * @return string $title The menu item's title with dropdown icon.
 */
function donovan_dropdown_icon_to_menu_link( $title, $item, $args, $depth ) {
    if ( 'primary' === $args->theme_location || 'secondary' === $args->theme_location ) {
        foreach ( $item->classes as $value ) {
            if ( 'menu-item-has-children' === $value || 'page_item_has_children' === $value ) {
                $title = $title . '<span class="sub-menu-icon">' . donovan_get_svg( 'expand' ) . '</span>';
            }
        }
    }

    return $title;
}
add_filter( 'nav_menu_item_title', 'donovan_dropdown_icon_to_menu_link', 10, 4 );


/**
 * Return SVG markup for social icons.
 *
 * @param string $icon SVG icon id.
 * @return string $svg SVG markup.
 */
function donovan_get_social_svg( $icon = null ) {
    // Return early if no icon was defined.
    if ( empty( $icon ) ) {
        return;
    }

    // Create SVG markup.
    $svg = '<svg class="icon icon-' . esc_attr( $icon ) . '" aria-hidden="true" role="img">';
    $svg .= ' <use xlink:href="' . get_parent_theme_file_uri( '/assets/icons/social-icons.svg#icon-' ) . esc_html( $icon ) . '"></use> ';
    $svg .= '</svg>';

    return $svg;
}


/**
 * Display SVG icons in social links menu.
 *
 * @param  string  $item_output The menu item output.
 * @param  WP_Post $item        Menu item object.
 * @param  int     $depth       Depth of the menu.
 * @param  array   $args        wp_nav_menu() arguments.
 * @return string  $item_output The menu item output with social icon.
 */
function donovan_social_icons_menu( $item_output, $item, $depth, $args ) {

    // Get supported social icons.
    $social_icons = donovan_supported_social_icons();

    // Change SVG icon inside social links menu if there is supported URL.
    if ( 'social' === $args->theme_location ) {
        $icon = 'star';
        foreach ( $social_icons as $attr => $value ) {
            if ( false !== strpos( $item_output, $attr ) ) {
                $icon = esc_attr( $value );
            }
        }
        $item_output = str_replace( $args->link_after, '</span>' . donovan_get_social_svg( $icon ), $item_output );
    }

    return $item_output;
}
add_filter( 'walker_nav_menu_start_el', 'donovan_social_icons_menu', 10, 4 );


/**
 * Returns an array of supported social links (URL and icon name).
 *
 * @return array $social_links_icons
 */
function donovan_supported_social_icons() {
    // Supported social links icons.
    $supported_social_icons = array(
        '500px'           => '500px',
        'amazon'          => 'amazon',
        'apple'           => 'apple',
        'bandcamp'        => 'bandcamp',
        'behance.net'     => 'behance',
        'bitbucket'       => 'bitbucket',
        'codepen'         => 'codepen',
        'deviantart'      => 'deviantart',
        'digg.com'        => 'digg',
        'dribbble'        => 'dribbble',
        'dropbox.com'     => 'dropbox',
        'etsy.com'        => 'etsy',
        'facebook.com'    => 'facebook',
        'feed'            => 'rss',
        'rss'             => 'rss',
        'flickr.com'      => 'flickr',
        'foursquare.com'  => 'foursquare',
        'github.com'      => 'github',
        'instagram.com'   => 'instagram',
        'linkedin.com'    => 'linkedin',
        'mailto:'         => 'envelope',
        'medium.com'      => 'medium-m',
        'meetup.com'      => 'meetup',
        'pinterest'       => 'pinterest-p',
        'getpocket.com'   => 'get-pocket',
        'reddit.com'      => 'reddit-alien',
        'skype.com'       => 'skype',
        'skype:'          => 'skype',
        'slideshare'      => 'slideshare',
        'snapchat.com'    => 'snapchat',
        'soundcloud.com'  => 'soundcloud',
        'spotify.com'     => 'spotify',
        'stumbleupon.com' => 'stumbleupon',
        'telegram'        => 'telegram',
        't.me'            => 'telegram',
        'tumblr.com'      => 'tumblr',
        'twitch.tv'       => 'twitch',
        'twitter.com'     => 'twitter',
        'vimeo.com'       => 'vimeo',
        'vine.co'         => 'vine',
        'vk.com'          => 'vk',
        'whatsapp'        => 'whatsapp',
        'wa.me'           => 'whatsapp',
        'wordpress.org'   => 'wordpress',
        'wordpress.com'   => 'wordpress',
        'xing.com'        => 'xing',
        'yelp.com'        => 'yelp',
        'youtube.com'     => 'youtube',
    );

    return $supported_social_icons;
}
 

marino51

Utente Attivo
28 Feb 2013
2.920
164
63
Lombardia
Però non ho capito dove si trova
scusa se non ho risposto subito, ma di questi tempi l'impegno soprattutto per le necessità di famiglia, é maggiore,
ho scaricato da GitHub il pacchetto completo, come credo possa aver fatto anche tu,
le icone sono raccolte in formato "svg" nella cartella "donovan-master\assets\icons"
dove trovi i files "genericons-neue.svg" e "social-icons.svg"
prova ad aprirli con il "blocco note" e potrai vedere il contenuto (parzialmente) capibile
buon pomeriggio
 

Shyson

Utente Attivo
19 Ago 2012
1.145
1
38
scusa se non ho risposto subito, ma di questi tempi l'impegno soprattutto per le necessità di famiglia, é maggiore,
ho scaricato da GitHub il pacchetto completo, come credo possa aver fatto anche tu,
le icone sono raccolte in formato "svg" nella cartella "donovan-master\assets\icons"
dove trovi i files "genericons-neue.svg" e "social-icons.svg"
prova ad aprirli con il "blocco note" e potrai vedere il contenuto (parzialmente) capibile
buon pomeriggio
L'ho scaricato qui: https://it.wordpress.org/themes/donovan/

L'ho trovata genericons-neue.svg ma non è come questa che ho messo nel sito

Codice:
<span class="dashicons dashicons-email-alt" style="color:#ff8000"></span>
 

marino51

Utente Attivo
28 Feb 2013
2.920
164
63
Lombardia
ho scaricato il tema che mi hai indicato ed é praticamente uguale al codice presente in github

esempio del contenuto del file "social-icons.svg"
HTML:
<symbol id="icon-envelope" viewBox="0 0 512 512">

<symbol id="icon-twitter" viewBox="0 0 512 512">

<symbol id="icon-facebook" viewBox="0 0 512 512">