Hirdetés
-
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
- Allegro vélemények - tapasztalatok
- Hisense LCD és LED TV-k
- PROHARDVER! feedback: bugok, problémák, ötletek
- Víz- gáz- és fűtésszerelés
- Yettel topik
- Sony Xperia 1 VII - Látod-e, esteledik
- Samsung Galaxy A56 - megbízható középszerűség
- Samsung Galaxy S25 - végre van kicsi!
- Xbox Series X|S
- iPhone topik
- További aktív témák...
- AAM számla - Mini PC / SFF / MT / TWR - Brand gépek - HP / DELL / Lenovo - több db, 1 év garancia
- Garanciális Gamer Számítógép, PC (GTX 1070 8GB, I7-7700, 16GB RAM, SDD) Beszámítás Posta ok (32)
- iPhone 11 128GB fekete, gyárilag független, újszerű karcmentes állapot, 87% akku, legjobb ár!
- iPhone 12 128GB FEHÉR, gyárilag független, újszerű karcmentes állapot, 94% akku, doboz, legjobb ár!
- iPhone 12 128GB fekete, gyárilag független, karcmentes kijelző szép állapot, 86% akku, legjobb ár!
- BESZÁMÍTÁS! ASUS TUF A620M R5 7600X 32GB DDR5 1TB SSD RX 6700 XT 12GB ZALMAN I3 NEO A-Data 750W
- Eladó Apple Macbook Pro 2015 / 12 hó jótállás
- Bomba ár! HP EliteBook 840 G5 - i5-8G I 8GB I 128GB SSD I 14" FHD I HDMI I Cam I W11 I Gari!
- LG 39GS95UE - 39" Ívelt OLED / QHD 2K / 240Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
- HIBÁTLAN iPhone 13 Pro 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3073, 100% Akkumulátor
Állásajánlatok
Cég: FOTC
Város: Budapest