-
Fototrend
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
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Vezetékes FEJhallgatók
- 3D nyomtatás
- Steam, GOG, Epic Store, Humble Store, Xbox PC Game Pass, Origin Access, uPlay+, Apple Arcade felhasználók barátságos izgulós topikja
- Hálózati / IP kamera
- A Micron újszerű módszerrel javítja QLC-s SSD-jének sebességét
- Otthoni időjárás-állomás
- Dune Awakening - Máris túl az 1 millión
- Konzol Screenshot
- Mesterséges intelligencia topik
- További aktív témák...
- Telefon felvásárlás!! Honor 90 Lite/Honor 90/Honor Magic5 Lite/Honor Magic6 Lite/Honor Magic5 Pro
- Konica Bizhub C220 - A3 fénymásoló
- VÉGKIÁRUSÍTÁS - REFURBISHED - HP Elite / ZBook Thunderbolt 3 docking station
- Bomba ár HP Pro X360 11 G1 - Intel N4200 I 4GB I 128GB SSD I 11,6" HD Touch I Cam I W10 I Gari
- Bomba ár! Dell Latitude E7240 - i7-4GEN I 16GB I 256SSD I 12,5" HD I HDMI I Cam I W10 I Garancia!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest