• Gelöst doku85

    (@doku85)


    Hallo Zusammen

    Ich nutze die Free Version vom NewsUp Theme. Dort wird auf der Frontpage unter dem Menü direkt ein kleiner Slide „Latest News“ angezeigt.

    Soweit so gut. Eigentlich möchte ich nun, dass dies auch auf den einzelnen Beitragsseiten angezeigt wird. Bin im Code nirgends fündig geworden.

    Ein Kollege von mir nutzt die Pro Version, dort ist es nicht einstellbar, somit muss man es im Code direkt lösen.

    Hat eventuell jemand eine Idee?

    lg aus Glarus

Ansicht von 4 Antworten – 1 bis 4 (von insgesamt 4)
  • Hat eventuell jemand eine Idee?

    Ich glaube, das solltest du in dem Fall den Hersteller fragen.

    Die Marquee (Laufband) wird auf der Start- und Beitragsübersichtsseite angezeigt. Dafür wird in der Datei inc/ansar/hooks/hooks.php der Hook newsup_action_banner_exclusive_posts verwendet.

    Eigentlich reicht es, das if-Statement

     if (is_front_page() || is_home()) { … }

    zu erweitern in

     if (is_front_page() || is_home() || is_single()) { … }

    damit die Marquee auch bei der Ansicht einzelner Beiträge angezeigt wird. Das Problem ist aber, dass eine Änderung direkt im Theme beim nächsten Update wieder überschrieben wird. Das wäre ja blöd.

    Besser ist deshalb, die Funktion (mit einem leicht abgewandelten Namen – Funktionsnamen dürfen immer nur einmal verwendet werden) neu einzubinden. Dazu entkoppeln wir mit

    remove_action('newsup_action_banner_exclusive_posts', 'newsup_banner_exclusive_posts', 10);

    zunächst die vom Theme verwendete Funktion. Solltest du den Code nicht in der functions.php eines Child-Themes, sondern in einem eigenen Plugin oder als Code Snippet verwenden, musst du außerdem festlegen, dass diese Entkoppelung erst erfolgt, wenn das Theme geladen wurde. (Sonst versuchst du eine Funktion zu entkoppeln, bevor sie vom Theme überhaupt eingebunden wurde.) Wir ergänzen in dem Fall den Code:

    add_action( 'after_setup_theme', 'my_remove_banner' );
    function my_remove_banner() {
    remove_action('newsup_action_banner_exclusive_posts', 'newsup_banner_exclusive_posts', 10);
    }

    Nun fügen wir die Funktion mit einem leicht abgewandelten Namen und dem erweiterten if-Statement hinzu und koppeln sie mit add_action() an den Hook des Themes:

    function my_newsup_banner_exclusive_posts()  {
    if (is_front_page() || is_home() || is_single()) {
    $show_flash_news_section = newsup_get_option('show_flash_news_section');
    if ($show_flash_news_section):
    ?>
    <section class="mg-latest-news-sec">
    <?php
    $category = newsup_get_option('select_flash_news_category');
    $number_of_posts = newsup_get_option('number_of_flash_news');
    $newsup_ticker_news_title = newsup_get_option('flash_news_title');

    $all_posts = newsup_get_posts($number_of_posts, $category);
    $show_trending = true;
    $count = 1;
    ?>
    <div class="container-fluid">
    <div class="mg-latest-news">
    <div class="bn_title">
    <h2 class="title">
    <?php if (!empty($newsup_ticker_news_title)): ?>
    <?php echo esc_html($newsup_ticker_news_title); ?><span></span>
    <?php endif; ?>
    </h2>
    </div>
    <?php if(is_rtl()){ ?>
    <div class="mg-latest-news-slider marquee" data-direction='right' dir="ltr">
    <?php } else { ?>
    <div class="mg-latest-news-slider marquee">
    <?php }
    if ($all_posts->have_posts()) :
    while ($all_posts->have_posts()) : $all_posts->the_post(); ?>
    <a href="<?php the_permalink(); ?>">
    <span><?php the_title(); ?></span>
    </a>
    <?php
    $count++;
    endwhile;
    endif;
    wp_reset_postdata();
    ?>
    </div>
    </div>
    </div>
    </section>
    <!-- Excluive line END -->
    <?php endif;
    }
    }

    add_action('newsup_action_banner_exclusive_posts', 'my_newsup_banner_exclusive_posts', 10);

    Für alle, die nicht so gerne programmieren, lieber kostenlose Hilfe im Forum holen, aber davon nichts verstehen, hier nochmal der komplette Code, der als Snippet verwendet werden kann:

    add_action( 'after_setup_theme', 'my_remove_banner' );
    function my_remove_banner() {
    remove_action('newsup_action_banner_exclusive_posts', 'newsup_banner_exclusive_posts', 10);
    }

    function my_newsup_banner_exclusive_posts() {
    if (is_front_page() || is_home() || is_single()) {
    $show_flash_news_section = newsup_get_option('show_flash_news_section');
    if ($show_flash_news_section):
    ?>
    <section class="mg-latest-news-sec">
    <?php
    $category = newsup_get_option('select_flash_news_category');
    $number_of_posts = newsup_get_option('number_of_flash_news');
    $newsup_ticker_news_title = newsup_get_option('flash_news_title');

    $all_posts = newsup_get_posts($number_of_posts, $category);
    $show_trending = true;
    $count = 1;
    ?>
    <div class="container-fluid">
    <div class="mg-latest-news">
    <div class="bn_title">
    <h2 class="title">
    <?php if (!empty($newsup_ticker_news_title)): ?>
    <?php echo esc_html($newsup_ticker_news_title); ?><span></span>
    <?php endif; ?>
    </h2>
    </div>
    <?php if(is_rtl()){ ?>
    <div class="mg-latest-news-slider marquee" data-direction='right' dir="ltr">
    <?php } else { ?>
    <div class="mg-latest-news-slider marquee">
    <?php }
    if ($all_posts->have_posts()) :
    while ($all_posts->have_posts()) : $all_posts->the_post(); ?>
    <a href="<?php the_permalink(); ?>">
    <span><?php the_title(); ?></span>
    </a>
    <?php
    $count++;
    endwhile;
    endif;
    wp_reset_postdata();
    ?>
    </div>
    </div>
    </div>
    </section>
    <!-- Excluive line END -->
    <?php endif;
    }
    }

    add_action('newsup_action_banner_exclusive_posts', 'my_newsup_banner_exclusive_posts', 10);

    Viel Erfolg mit der Website.

    Thread-Starter doku85

    (@doku85)

    Vielen Dank 😊 Dann war ich gar nicht so verkehrt mit der Hook-Datei. Ich verstehe zwar einiges was PHP, HTML und Co anbelangt, aber bei WordPress Blicke ich noch immer nicht ganz durch.

    Mit dem Überschreiben ist es kein Problem, ich sichere mir die angepassten Files lokal auf dem Rechner.

    Liebe Grüsse aus der Schweiz

    Mit dem Überschreiben ist es kein Problem, ich sichere mir die angepassten Files lokal auf dem Rechner.

    Genau das war eigentlich nicht der Sinn der ausführlichen Beschreibung.

    Aber … deine Website, deine Regeln. Viel Erfolg mit der Website.

Ansicht von 4 Antworten – 1 bis 4 (von insgesamt 4)