Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- LordAthis: Mission: Imposible? - Együtt 1333 és 1600 MHz, ECC/Non-ECC
- btz: Internet fejlesztés országosan!
- Brogyi: CTEK akkumulátor töltő és másolatai
- gban: Ingyen kellene, de tegnapra
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- D@reeo: Pi-hole és a Telekom Sagemcom F@st 5670 DNS beállítása
- WireGuard VPN a mindennapokra
-
LOGOUT
WordPress tartalom kezelő rendszer (CMS) topik
Új hozzászólás Aktív témák
-
lalimano
tag
Sziasztok!
Hobbiszinten ismerkedem a Wordpressel, és arra gondoltam jó lenne ha az oldal látogatói rendezhetnék különböző szempontok szerint a bejegyzéseket.
Erre találtam is egy plugint, ami tökéletes kiindulási alap: [WP Sort Posts], sikerült is annyival kieészítenem, hogy postok száma szerint csökkenő sorrendbe is tudjon rendezni:
<?php
/*
Plugin Name: WP Sort Posts
Plugin URI: http://sitehint.ru/?p=757
Description:
Version: 1.0
Author: TrueFalse
Author URI: http://red-book-cms.ru
License: GPLv2 or later
Text Domain: wpsp
Domain Path: /languages
*/
# Загрузка строк локализации:
load_plugin_textdomain('wpsp', false, dirname( plugin_basename( __FILE__ ) ). '/languages/');
# Сортировка записей:
function wpsp_orderby_posts($vars) {
$params = wpsp_get_orderby_select();
$vars->set('orderby', $params['orderby']);
$vars->set('order', $params['order']);
$vars->set('ignore_sticky_posts', 1);
return $vars;
}
add_filter('pre_get_posts', 'wpsp_orderby_posts');
# Обрабатываем POST с выпадающего списка:
function wpsp_get_orderby_select() {
$result = array(
'1' => ' selected="selected"',
'2' => '',
'3' => '',
'4' => '',
'5' => '',
'orderby' => 'date',
'order' => 'DESC'
);
if (intval($_GET['wpsp_orderby_posts']))
switch ($_GET['wpsp_orderby_posts']) {
case '1': // Сортировать по заголовку:
$result['orderby'] = "title";
$result['order'] = "ASC";
break;
case '2': // Сортировать по дате: сначала новые:
$result['orderby'] = "date";
$result['order'] = "DESC";
$result['2'] = ' selected="selected"';
$result['1'] = '';
break;
case '3': // Сортировать по дате: сначала старые:
$result['orderby'] = "date";
$result['order'] = "ASC";
$result['3'] = ' selected="selected"';
$result['1'] = '';
break;
case '4': // Сортировать по дате последней правки:
$result['order'] = "modified";
$result['4'] = ' selected="selected"';
$result['1'] = '';
break;
case '5':
$result['orderby'] = "comment_count";
$result['order'] = "DESC";
$result['5'] = ' selected="selected"';
$result['1'] = '';
break;
}
return $result;
}
add_filter('wp_head', 'wpsp_get_orderby_select');
# Вывод формы на экран:
function wpsp_orderby_posts_form() {
$params = wpsp_get_orderby_select();
echo "
<form method=\"get\" id=\"order\">". __('Sort posts', 'wpsp'). "
<select name=\"wpsp_orderby_posts\" onchange=\"this.form.submit()\">
<option value=\"1\"{$params['1']}>". __('by title', 'wpsp'). "</option>
<option value=\"2\"{$params['2']}>". __('by date (new forward)', 'wpsp'). "</option>
<option value=\"3\"{$params['3']}>". __('by date (old onwards)', 'wpsp'). "</option>
<option value=\"4\"{$params['4']}>". __('by date modified', 'wpsp'). "</option>
<option value=\"5\"{$params['5']}>". __('by comments', 'wpsp'). "</option>
</select>
</form>";
}
?>
Viszont a Facebookos kommentrendszert használnám, hogy ne fogyasszam a tárhelyet a kommentekk tárolásával.Tehát röviden: Azt szeretném megvalósítani, hogy az adatbázisban a post adatai mellett legyen egy külön mező (vagy ezt külön táblában kéne, hogy a plugin eltávolítható legyen?) , ami egy számot tárol, és növeli, ha az adott posthoz hozzászólnak (vagy lekéri a facebookos adatbázisból, de csak akkor frissítse, ha kommentel valaki, ne mindig mikor betöltik a konkrét bejegyzést)
Későbbi terv, hogy ha valaki Likeolja, +1-eli vagy megosztja valami közösségi oldalon (az oldalra kihelyezett gombokkal), akkor növel egy számlálót, és ez szerint is lehessen rendezni.
Ezekben tudna valaki segíteni? Elég kezdő vagyok, ami tutorialokat találtam, nem sikerült azok alapján :/
Előre is köszi!
Új hozzászólás Aktív témák
- Amazon Kindle
- Linux kezdőknek
- Okos Otthon / Smart Home
- Horgász topik
- Kivégezheti a kisebb VGA-gyártókat az NVIDIA döntése
- Milyen okostelefont vegyek?
- Luck Dragon: Asszociációs játék. :)
- Yettel topik
- Kezünkben a OnePlus 15 és az Oppo Find X9-ek
- Tényleg nem változik semmit a Samsung Galaxy S26+?
- További aktív témák...
- Patriot Viper RGB Elite 5 Ultra - 48GB (2x24) DDR5 6000MHz CL28 - 10 év garancia
- Patriot Viper Elite 5 Ultra - 48GB (2x24) DDR5 6400MHz CL32 - 10 év garancia
- G.SKILL 32GB (2x16) DDR5 7200MHz CL34 - Trident Z5 RGB - 99 hónap garancia
- Neumann NDH 20 Prémium fejhallgató
- NuPhy Air75 V3 ISO (DE) fekete ajándék extra magyar kupak szettel
- Bomba ár! Dell Latitude E6440 - i5-4GEN I 8GB I 256SSD I 14" HD I HDMI I Cam I W10 I Garancia!
- LG OLED & OLED evo Televíziók -30%
- GYÖNYÖRŰ iPhone 13 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3921, 100% Akkumulátor
- HIBÁTLAN iPhone 13 Pro Max 256GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3521, 100% Akksi
- Samsung Galaxy Watch 8 40mm, Új, 1 Év Garanciával
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


