Přehled odpovědí
-
AutorPříspěvky
-
Jojo, s tim jsem nějak počítal, že když přijde aktualizace, tak to budu muset manuálně doplnit.
Jinak, abych to upřesnil, můj kód se stará o kontrolu RC jestli je v databázi, když je, tak si uživatel může vytvořit blog, když tam neni, tak může pouze uživatele. Snad jsem to vysvětlil :-)
ad: Pokud by šlo jenom o heslo, tak místo těch podmínek na rodný číslo, by se dala pouze podmínka if ( heslo == “franta” ) a je to, to si myslim, že by si každý dokázal udělat podle sebe, přece jenom, určitě do kódu nešmátrá žádný laik.
Tak jsem to nakonec upravil jinak – a to zasáhem přímo do kódu WordPressu. Pokusím se to nějak sepsat do bodů a napsat sem moje řešení.
1) Vytvoření formů v souboru wp-signup.php
<?php //
ZADAVANI RODNEHO CISLA
?><br />
<label for="user_email_sas"><?php _e( 'Rodné číslo :' ) ?></label><br />
<?php if ( $errmsg = $errors->get_error_message('user_rc') ) { ?><br />
<p class="error"><?php echo $errmsg ?></p><br />
<?php } ?><br />
<input name="user_rc" type="text" id="user_rc" value="<?php echo esc_attr($user_rc) ?>" maxlength="200" /><br /><?php _e('Pouze v případě, že jsteXXX.') ?><br />— umístění formů si vyberu sám, kde potřebuji. Všechny informace o úvodních formech začínají na řádcích 129 (function show_user_form) —
2) Úprava v souboru ms-functions, který definuje funkce využité při registraci uživatelů/blogu na WordPress MU
if ($_POST['signup_for'] == 'blog') { // Pokud uživatel vybere možnost "chci blog"<br />
if ($_POST['user_rc'] == '') { // pokud jsou pole prázdná, vypíše se chyba<br />
$errors->add('user_rc', 'Blog může mít pouze XXX!');</p>
<p> }<br />
if (strlen($_POST['user_rc']) > 10){ // kontrola délky rodného čísla<br />
$errors->add('user_rc', 'Neplatné rodné číslo!');<br />
}</p>
<p> if (!is_numeric($_POST['user_rc'])){ // kontrola, zda rodné číslo je numerické<br />
$errors->add('user_rc', 'Nejsou cisla!');<br />
}</p>
<p> if (!checkIn($_POST['user_rc'])) { // porovnání údají s databází<br />
$errors->add('user_rc', 'Zadané údaje neodpovídají databázi!');<br />
}<br />— Na konec funkce wpmu_validate_user_signup($user_name, $user_email) si přidám moje podmínky, které se budou kontrolovat
Za konec funkce umístim mojí funkci checkIn
function checkInSas($userRc) {<br />
global $wpdb;</p>
<p> $otisk = xxx; // vyberu si, čemu se bude rovnat otisk</p>
<p> $zzz = $wpdb->query( $wpdb->prepare("SELECT * FROM xxx WHERE yyy = %s", $otisk) );<br />
if ( $zzz != null ){<br />
return true;<br />
}else{<br />
return false;<br />
}<br />
}<br />— funkci jsem upravil zhruba jak by měla vypadat, každý si zajisté doplní podle svého
Snad to bude někomu užitečné :-)
Pokud jde o zkracování článků, tak jsou dvě možnosti jak to vyřešit.
1) Využití tagu “more” – přímo v editoru při tvorbě příspěvku (http://en.support.wordpress.com/splitting-content/more-tag/)
2) Místo funkce the_content() použít funkci the_excerpt (http://codex.wordpress.org/Function_Reference/the_excerpt) – funkce ti vypíše prvních 55 slov z tvého článku -> nevýhodou je, že při zobrazování na hlavní stránce, to ztratí formátování odstavců etc (bohužel jsem se zatim nedozvěděl, jestli to jde nějak upravit), třeba poradí někdo zkušenější.
+ co zkusit třeba první odstavec hodit místo do pole editoru, do pole “Shrnutí článku”…hm?
Byl tam problém, že to volalo funkci, která zobrazuje náhled a funkci, která zobrazuje obsah příspěvku.
Bylo tam:
<?php if ( (function_exists(‘has_post_thumbnail’)) && (has_post_thumbnail()) ) { the_post_thumbnail(array( 200,200 ), array( ‘class’ => ‘alignleft’ )); } ?>
<?php the_content(”); ?>
První dva řádky – zobrazení náhledu (pokud byl zvolen)
Třetí řádek – zobrazení obsahu celýho článku
Ve finále to zobrazilo náhled a za náhled to vypsalo celej příspvěk. Takže jsem upravil na:
<?php if ( (function_exists(‘has_post_thumbnail’)) && (has_post_thumbnail()) ) { the_post_thumbnail(array( 200,200 ), array( ‘class’ => ‘alignleft’ )); } ?>
<?php the_excerpt(); ?>
A nyní mi to zobrazuje náhled + 55 (dle nastavení, defaultně 55) slov z článku.
Funguje to, podle toho co jste psal. Chci se zeptat, jde to i nějak nastavit defaultně? Aby hned od začátku to nastavovalo URL souboru a ne URL odkazu.
Jinak k mému řešení. Pro zobrazování pouze náhledu fotku + text, jsem využil následující kód (index.php)
<?php if ( (function_exists(‘has_post_thumbnail’)) && (has_post_thumbnail()) ) { the_post_thumbnail(array( 200,200 ), array( ‘class’ => ‘alignleft’ )); } ?>
<?php the_excerpt(); ?>
První dva řádky zajistí zobrazení náhledu (pokud bylo zvoleno při tvorbě článku) a druhý řádek mi vybere z textu určitej počet slov (http://codex.wordpress.org/Function_Reference/the_excerpt) a následně zobrazí (dobré využít pokud autoři nevyplňují ,,shrnutí článku”).
Snad je to nějak stručně popsané, jak jsem udělal náhled + trochu textu.
Tak nakonec vyřešeno – vlastní editace a použití the_excerpt() a pár jeho modifikací :)
Jen by mě zajímalo, mam plugin LightBox v2 (http://www.huddletogether.com/projects/lightbox2/) a teď řešim, jak to udělat, aby se plugin sepnul hned po kliknutí na obrázek, nyní to funguje tak, že mam článek (napriklad http://www.neco.cz/muj-clanek/) a když kliknu na obrázek, tak se mi otevře stránka ( http://www.neco.cz/muj-clanek/img_1/ ) a až v tenhle moment, kdy kliknu ještě jednou na obrázek se zobrazí javascriptová animace pomocí LightBoxu.
Nevíte někdo jak na to? Děkuji
-
AutorPříspěvky