Args :( Danke, mensmaximus, das wars.
Beiträge von Azrael_0815
-
-
Ja, ich weiß, aber selbst 'rewrite' => array('slug'=>'wordpedia') und speichern ändert nix am Verhalten. Ich frag mich nur, warum?
-
Ich habe einen CPT erstellt, der für ein Lexikon sein soll.
Code
Alles anzeigen$args = array( 'labels' => $labels, 'taxonomies' => array('wordpedia_cat'), 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => array('slug'=>wordpedia_post_type::slugify(wordpedia_post_type::get_encyclopedia_name()),'with_front' => false), 'capability_type' => 'post', 'capabilties' => $capabilities, 'hierarchical' => false, 'menu_position' => null, 'menu_icon' => 'dashicons-welcome-learn-more', 'supports' => array('title','thumbnail', 'editor','author', 'excerpt', 'comments' ), ); register_post_type( 'wordpedia' , $args );So weit, so gut. Aber: obwohl ich die Pretty Permalinks aktiviert habe, sagt er mir beim Aufruf von domain/wordpedia
"Die Seite konnte leider nicht gefunden werden".
Warum? Und wie stelle ich das an, damit mir beim Aufruf /wordpedia alle bisher erstellten CPT-Posts angezeigt werden? -
HTML
Alles anzeigen<link rel="stylesheet" id="switch_style" href=""> <p>Use jQuery to easily change the stylesheet of your page.</p> <p>Let your visitors choose your website styling.</p> <h4>Pick one of the boxes below to change the stylesheet.</h4> <p>The stylesheet has one property that is the change the body background colour.</p> <div class="box" id="green"></div> <div class="box" id="red"></div> <div class="box" id="blue"></div> <div class="box" id="yellow"></div>PHP
Alles anzeigen(function ($j) { switch_style = { onReady: function () { this.switch_style_click(); }, switch_style_click: function(){ $(".box").click(function(){ var id = $(this).attr("id"); $("#switch_style").attr("href", id + ".css"); }); }, }; $j().ready(function () { switch_style.onReady(); }); })(jQuery);Mit diesem HTML und JQuery-Code kannst Du das stylesheet wechseln. Einfach nach "change css file on click jquery" suchen :)
-
Meta Fields, nach denen Du dann filterst?
-
Bestimmt :-) Aber ich würde die Eigenschaften mit Advanced Custom Fields festlegen und dann nach den Custom Fields filtern.
-
Kümmer Dich erstmal drum, dass Du die Eigenschaften im Backend festlegen kannst. ZB mit Custom Fields.
Du legst Du dann fest, ob der Apfel rot ist oder nicht.
-
Um etwas zu filtern, muss Du die Eigenschaften ja irgendwo auslesen, um zu entscheiden, ob Du das Produkt anzeigst, oder nicht. Du musst wissen, ob der Apfel rot ist oder nicht. Weisst Du das? Woher bekommst Du die Daten? Amazon Product API? Woocommerce hat erst mal nichts mit Amazon zu tun.
-
-
-
-
-
Jetzt muss Du für die Post ID alle Bilder im Post finden, zb mit einem Regex über den Post Content.
Code$content = $post->post_content; $regex = '/src="([^"]*)"/'; preg_match_all( $regex, $content, $matches );Und dann zählst Du die gefundenen Matches. Und wenn es nur 1 Bild gibt, änderst Du die URL, auf die the_permalink() zeigt, in die URL des Bildes.
Füge oben noch hinzu
Du wirst sehen, dass er Dir ein Array ausgibt mit der URL der im Post enthaltenen Bilder. Und dieses Array zählst Du dann.
-
Dein Loop befindet sich in der preview.php.
Diese CodePHP<article <?php post_class( 'preview preview-' . get_post_type() . ' do-spot' ); ?> id="post-<?php the_ID(); ?>"> <?php global $post; echo $post->ID; ?> <div class="preview-wrapper">gibt über dem Bild/Vorschau des Posts die ID des Post aus :-)
-
In das Template, welches Deinen Loop für diesen Post-Typ erzeugt, also die Bilder auf der Seite darstellt. Erkennst Du meist an der while-Schleife. Schließender Befehl ist oft endwhile. Je nach Theme kann es aber sein, dass etwas genutzt wird wie
Muss man schauen, wo genau das passiert, am besten in einem Child-Theme. Sorry.
-
Du zählst im Loop die Anzahl von Attachments zu einem Post.
ZB so:Codeglobal $post; $page_id = $post->ID; $all_attachments = get_posts( array( 'post_type' => 'attachment','post_mime_type' => 'image', 'post_parent' => $page_id, 'post_status'=>'published', 'numberposts' => -1 ) ); $no_of_photos = count($all_attachments); // Gets the number of photo's attached in $no_of_photos variableWenn $no_of_photos=1, gibst Du die URL zum Foto aus, wenn nicht, die zum Post. Hierzu musst Du in den Loop eingreifen ;)
-
-
Guck Dir mal https://aftabablog.wordpress.com/2017/02/17/how…ogged-in-users/ an :-) Ich habs nicht ausprobiert, aber kannste ja mal testen :-)
-
-
Funktioniert aber noch, @mensmaximus . Habs ausprobiert.