- Kormányok / autós szimulátorok topikja
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Amazon Kindle
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Milyen alaplapot vegyek?
- Bambu Lab 3D nyomtatók
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- HiFi műszaki szemmel - sztereó hangrendszerek
- Házimozi belépő szinten
- SSD kibeszélő
-
PROHARDVER!
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
- Revolut
- Macska topik
- Samsung Galaxy S23 Ultra - non plus ultra
- S.T.A.L.K.E.R. 2: Heart of Chornobyl
- Kormányok / autós szimulátorok topikja
- Megjelent a The Last of Us Part 1 PC-s kiadása
- Filmvilág
- Debrecen és környéke adok-veszek-beszélgetek
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- ASUS routerek
- További aktív témák...
- HP Spectre x360 Érintős Hajtogatós Laptop Tab 16" -60% i7-1360P 32/2TB Intel Arc A370M 4GB UHD OLED
- Szép! Lenovo Thinkpad T14s G2 Üzleti "Golyóálló" Laptop 14" -60% i5-1135G7 4Mag 16GB /512GB FHD IPS
- Samsung Q80T 55" QLED - 4K 120Hz VRR / FreeSync / HDMI 2.1
- ÚJ HP ENVY 17 Nagyképernyős "Kis Gamer" Laptop -45% 17,3" Brutál i7-13700H 16/1TB Iris Xe FHD IPS
- Legion Go 8APU1
- ÁRGARANCIA! Épített KomPhone i9 14900KF 64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- 130+131+132+133 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080
- Xiaomi Redmi Note 12s 256GB, Kártyafüggetlen, 1 Év Garanciával
- BLUESUMMERS NVMe SSD adapter
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest