Hey Community,
darf ich mit meinem Problem hier weitermachen, andernfalls gerne ein neues Thema erstellen.
Ich habe ein Formular, dass mittels Shortcode hinzugefügt wird: [wcj_product_add_new]
Wie muss ich es anstellen, dass dieser Inhalt nur für eingeloggte User sichtbar wird?
Gerne kann hierfür auch eine separate Template-Datei geschrieben werden, aber auch hier bekomme ich es einfach nicht hin, dass der Inhalt nur für eingeloggte User sichtbar wird?!?
Ich habe folgendes Snippet gefunden:
function member_check_shortcode($atts, $content = null) {
if (is_user_logged_in() && !is_null($content) && !is_feed()) {
return do_shortcode($content);
}
return '<p>Please register to add content.</p>';
}
add_shortcode('member', 'member_check_shortcode');
[SIZE=14px][FONT=Monaco][COLOR=rgb(197, 200, 198)][/COLOR][/FONT][/SIZE]
Wenn ich jedoch jetzt im Seiteneditor folgendes eingebe:
[member][wcj_product_add_new][/member]
dann wird zwar für nichteingeloggte User nichts mehr angezeigt, jedoch für diejenigen die eingeloggt sind, nur noch der Shortcode und nicht mehr das Formular. Also irgendwas mache ich falsch....
Wenn das so nicht umzusetzen ist, dann doch definitv über die TemplateDatei, oder?
Hier ist mein Auszug daraus:
<?php
/*
...........................................................
Template Name: Produktanfrage
*
*
* @file Produktanfrage_Template.php
* @author ********
............................................................
*/
?>
<?php get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php
if ( have_posts() ) :
get_template_part( 'loop' );
else :
get_template_part( 'content', 'none' );
endif;
?>
<?php
if ( is_home() ) {
do_action( 'homepage' );
} else {
get_template_part( 'loop' );
}
?>
<?php
add_action( 'homepage', 'woo_slider', 10 ); ?>
</main><!-- #main -->
</div><!-- #primary -->
<?php
do_action( 'storefront_sidebar' );
get_footer();
Alles anzeigen
Schöne Grüße
Karsten