wordpress plugin comment form aanpassen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • williewonka03
  • Registratie: Augustus 2010
  • Laatst online: 16-06-2024
hallo allemaal,

ik ben een plugin aan het schrijven voor wordpress dat het mogelijk maakt om afbeeldingen in reacties te plaatsen. het scant in een comment naar een afbeelding tag (nu is dat [afbeelding=<naam afbeelding>], maar dat kun je aanpassen in de opties in een latere versie), hij haalt de naam eruit en kijkt in de database of de afbeelding op de server staat en vervangt de tag dan door een <img> met alle info erin. het is dus de bedoeling dat mensen een custom naam verzinnen voor hun afbeelding en deze kunnen gebruiken in een comment. dit vervangen werkt dus goed.
het probleem is echter het uploaden. ik heb de comment form uitgebreid met een checkbox om de upload functie te activeren, een veld voor de naam en een uploadveld voor de afbeelding. dit heb ik als volgt gedaan:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//hooks:
add_action('comment_form_logged_in_after', 'imagements_additional_fields');
add_action('comment_form_after_fields', 'imagements_additional_fields');

//functie:
function imagements_additional_fields()
{
    echo '<p>' . '<label for="checkbox">' . __('upload image') . '</label>' .
        '<input id="checkbox" name="checkbox" type="checkbox" value ="yes"/></p>';
    echo '<p>' . '<label for="naam">' . __('name image') . '</label>' .
        '<input id="naam" name="naam" type="text"/></p>';

    echo '<p>' . '<label for="image">' . __('file image') . '</label>' .
        '<input id="image" name="image" type="file"/></p>';
}


vervolgens wil ik graag controleren of er wel een naam en bestand zijn ingevoerd, of het bestand wel een afbeelding is en of de naam al bestaat.
hier zit het probleem echter, ik heb een script voor een niet-wordpress omgeving gemaakt en toen heb ik de variablen $_FILES['image']['name'] en $_FILES['image']['error'] gebruikt. het probleem is echter dat als ik dit in wordpress test de waarde van deze variablen altijd leeg blijven wat ik ook doe.
ik heb al op google gekeken naar 'file upload in wordpress comment form' en heb redelijk wat hits gevonden maar die geven allemaal geen zinnige voorbeelden of uitleg of ze doen hetzelfde als ik (zoals deze bijvoorbeeld)
dus weet iemand wat ik fout doe?

Acties:
  • 0 Henk 'm!

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 17-09 11:07

TheNephilim

Wtfuzzle

Gewoon even print_r($_FILES); doen, dan weet je zeker of er wel iets mee komt.

Acties:
  • 0 Henk 'm!

  • williewonka03
  • Registratie: Augustus 2010
  • Laatst online: 16-06-2024
het resultaat: Array ( ) 1
er zit dus niets in. en dat snap ik dus niet. als ik het buiten wordpress doe dan werkt het gewoon maar in wordpress niet, terwijl die link gewoon hetzelfde doet.

Acties:
  • 0 Henk 'm!

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 17-09 11:07

TheNephilim

Wtfuzzle

Vergeet je niet enctype="multipart/form-data" toe te voegen aan <form>

http://wordpress.org/support/topic/access-to-_files-object

Acties:
  • 0 Henk 'm!

  • williewonka03
  • Registratie: Augustus 2010
  • Laatst online: 16-06-2024
TheNephilim schreef op dinsdag 31 juli 2012 @ 10:01:
Vergeet je niet enctype="multipart/form-data" toe te voegen aan <form>

http://wordpress.org/support/topic/access-to-_files-object
aha dit ziet er uit als een goude tip. ik zal eens de filter zoeken om dat erin te zetten. ik zal terug schrijven als het werkt. alvast bedankt!

EDIT: mss een domme vraag, maar ik kan die filter niet vinden op de codex? weet jij mss welke dat is? ik bedoel dan degene die dat toevoegd aan de bestaande form tag van de comment form.

owke het moet dus post_edit_form_tag zijn denk ik. dus ik heb dit toegevoegd:
code:
1
2
3
4
5
add_action('post_edit_form_tag' , 'imagements_add_form_tag');

function imagements_add_form_tag(){
    echo ' enctype="multipart/form-data"';
}


maar dan zie ik die echo niet terug in de form! de $_FILES blijft gewoon leeg hoe kan dat nou, volgens deze codexpagina moet dit gewoon kloppen.

[ Voor 46% gewijzigd door williewonka03 op 31-07-2012 15:30 ]