Permalänk

Länk sida på Wordpress?

Har min Wordpress sida som jag vill få att funka såhär:
En besökare fyller i ett formulär om att dela en länk han/hon har hittat.
Denna länk syns sedan i en lista på min wordpress sida.

Jag har lyckats med detta genom att använda http://wordpress.org/plugins/link-library/ Link Library pluginet.
Dock har jag stött på fel och efter flera veckors felsökning ger jag upp och söker nu efter nya alternativ att skapa min sida.

Jag vill att vem som helst, oavsett inloggad på wordpress eller inte ska kunna dela med sig av en länk.
Felet jag stötte på med Link Library var att den visade alla datum som 1 januari 1970 och sorterade inte länkarna alls. De hamnade huller om buller.... Jag vill se datum är länken lagts till samt att de kan sorteras efter datum så den nyaste är överst osv.

Någon som vet något bra alternativ?

Visa signatur

Chassi: Phanteks XT Pro Ultra Svart | CPU: AMD Ryzen 9 7900X 4.7 GHz 76MB | Moderkort: MSI B650 Gaming Plus WIFI | Nätagg: Corsair RM850x 850W v3 | RAM: Kingston 64GB (2x32GB) DDR5 6000MHz CL30 FURY Be | HDD: Kingston Fury Renegade M. 2 NVMe SSD Gen 4 2TB | CPUkylning: Thermalright Phantom Spirit 120 SE

Permalänk
Medlem

Nu vet jag inte hur mycket du kan programmera men ett sätt skulle kunna vara att skapa en custom post type (eller kanske en kategori) som du låter användare skapa poster till i frontend.
Sedan listar du bara dessa poster där du vill med wordpress egna funktioner.

Jag har inte testat detta men jag älskar Advanced Custom Fields så det här kan kanske fungera:
http://www.advancedcustomfields.com/resources/tutorials/using...
http://www.advancedcustomfields.com/resources/tutorials/creat...
(Anledningen till att jag tvivlar är för att jag vet inte om det kräver att användaren är inloggad eller inte)

Visa signatur

Mina poster är en illusion. Det som står skrivet här över står i själva verket inte där så inget av det som du läser är sant. Inte ens den här texten. Jag har själv ingen kunskap om det jag skriver och ingen bör således läsa eller ta in den information som står skrivet.

Permalänk
Medlem

Testade lite och här kommer en lösning med acf.

1. Installera ACF: http://wordpress.org/plugins/advanced-custom-fields/

2. Skapa custom post type genom att klistra in detta i functions.php
Denna kod skapar en custom post type some heter links

function registerCustomPostTypes() { register_post_type( 'links', array( 'labels' => array( 'name' => __( 'Länkar' ), 'singular_name' => __( 'Länk' ) ), 'public' => true, 'has_archive' => false, ) ); } add_action( 'init', 'registerCustomPostTypes' );

3. Ladda ner och importera denna xml fil med WordPress importer: http://files.patrikelfstrom.se/advanced-custom-field-export.x...
Filen innehåller två ACF fält (rubrik och länk). Du kan skapa dina egna eller ändra dessa om du vill. Observera dock att du måste nog uppdatera reglerna för denna grupp så att den pekar mot post typen links som nog kommer få ett annat ID på din installation.

4. Släng in detta i functions.php
Detta tar emot posten från frontend och sparar den som en ny post. Du måste nog byta id (field_530146fdee207) på fätet här i för att spara rubriken. Som innan så får den också ett annat id än min installation.

function my_pre_save_post( $post_id ) { // check if this is to be a new post if( $post_id != 'new' ) { return $post_id; } // Create a new post $post = array( 'post_status' => 'draft' , 'post_title' => $_POST['fields']['field_530146fdee207'], 'post_type' => 'links' , ); // insert the post $post_id = wp_insert_post( $post ); // update $_POST['return'] $_POST['return'] = add_query_arg( array('post_id' => $post_id), $_POST['return'] ); // return the new ID return $post_id; } add_filter('acf/pre_save_post' , 'my_pre_save_post' );

5. och sist men inte minst en template. som visar formuläret och länkarna
Du får nog ändra field_groups här till rätt id. Om du redigerar ACF gruppen i backend så ser du ID:et i url:en (post=5)

<?php /** * Template Name: Frontend Template */ acf_form_head(); get_header(); the_post(); ?> <div id="main-content" class="main-content"> <div id="primary" class="content-area"> <div id="content" class="site-content" role="main"> <?php $args = array( 'post_id' => 'new', 'field_groups' => array( 5 ) ); acf_form( $args ); ?> <ul> <?php $args = array( 'post_type' => 'links', 'posts_per_page' => -1, 'post_status' => 'any' ); $links = get_posts( $args ); if($links) { foreach( $links as $link ) { setup_postdata( $link ); echo '<li> <a href="'.get_field('lank', $link->ID).'">'.get_field('rubrik', $link->ID).'</a> </li>'; } } else { echo 'Hittade inga länkar.'; } wp_reset_postdata(); ?> </ul> </div><!-- #content --> </div><!-- #primary --> </div><!-- #main-content --> <?php get_sidebar(); get_footer();

6. Så där. Hoppas jag inte missat något.
Rekommenderar att lära sig ACF för det är ett grymt plugin som jag använder varje dag.
Kan också rekommendera ACF Repeater Field (som kostar 25 AUD).
Speciellt användbart om man t.ex. ska lista personal på en sida.

Visa signatur

Mina poster är en illusion. Det som står skrivet här över står i själva verket inte där så inget av det som du läser är sant. Inte ens den här texten. Jag har själv ingen kunskap om det jag skriver och ingen bör således läsa eller ta in den information som står skrivet.

Permalänk

Stort tack till din guide... Men jag lyckas inte.
Jag gör såhär.

1. Ladda hem plugin.
2. Installera och aktivera plugin.
3. Öppna function.php (den fil från mitt tema se bild : http://prntscr.com/2tavv4
4. Lagt till koden från punkt 2 och 4 i function.php
5. Importerat .xml filen du länkade till här: http://prntscr.com/2tax9p
6. Skapa en .php fil med koden du skrev på post nummer 5. Ladda upp den i samma mapp som function.php filen (under mitt tema).

Nu ser det ut såhär i min WP dashboard.
Jag har ett nytt alternativ i vänster menyn som heter Länkar. Om jag väljer "add New" här så ser det ut såhär: http://prntscr.com/2tayin

Om jag väljer ny Posts i det vanliga alternativet för ett "blogginlägg". Så ser det ut såhär: http://prntscr.com/2tayqh

Antar att detta kan bero på att jag inte ändrat några ID nummer.

Jag har ändrat i min template fil, här: http://prntscr.com/2taz6r
Till det ID nummer som stod här: http://prntscr.com/2taztd

Men det där nummret (field_530146fdee207) förstår jag inte vart jag ska få ifrån?

Vad mer har jag gjort fel?

Visa signatur

Chassi: Phanteks XT Pro Ultra Svart | CPU: AMD Ryzen 9 7900X 4.7 GHz 76MB | Moderkort: MSI B650 Gaming Plus WIFI | Nätagg: Corsair RM850x 850W v3 | RAM: Kingston 64GB (2x32GB) DDR5 6000MHz CL30 FURY Be | HDD: Kingston Fury Renegade M. 2 NVMe SSD Gen 4 2TB | CPUkylning: Thermalright Phantom Spirit 120 SE

Permalänk
Medlem
Skrivet av hjarterkung:

Stort tack till din guide... Men jag lyckas inte.
Jag gör såhär.

1. Ladda hem plugin.
2. Installera och aktivera plugin.
3. Öppna function.php (den fil från mitt tema se bild : http://prntscr.com/2tavv4
4. Lagt till koden från punkt 2 och 4 i function.php
5. Importerat .xml filen du länkade till här: http://prntscr.com/2tax9p
6. Skapa en .php fil med koden du skrev på post nummer 5. Ladda upp den i samma mapp som function.php filen (under mitt tema).

Nu ser det ut såhär i min WP dashboard.
Jag har ett nytt alternativ i vänster menyn som heter Länkar. Om jag väljer "add New" här så ser det ut såhär: http://prntscr.com/2tayin

Om jag väljer ny Posts i det vanliga alternativet för ett "blogginlägg". Så ser det ut såhär: http://prntscr.com/2tayqh

Antar att detta kan bero på att jag inte ändrat några ID nummer.

Jag har ändrat i min template fil, här: http://prntscr.com/2taz6r
Till det ID nummer som stod här: http://prntscr.com/2taztd

Men det där nummret (field_530146fdee207) förstår jag inte vart jag ska få ifrån?

Vad mer har jag gjort fel?

På denna bild, http://prntscr.com/2taztd, så ser du tre select fält; post_type, is equal to, post. Ändra post till links (den posttypen vi skapat).
Då ska du inte heller se fälten på vanliga post typen.

field_530146fdee207 kan du se om du inspekterar rubrik input fältet och kollar name attributet.

Visa signatur

Mina poster är en illusion. Det som står skrivet här över står i själva verket inte där så inget av det som du läser är sant. Inte ens den här texten. Jag har själv ingen kunskap om det jag skriver och ingen bör således läsa eller ta in den information som står skrivet.