Zadejte hledaný výraz...

WordPress Výpis tabulek bez určitého štítku pomocí SQL

Jiri Borovy
verified
rating uzivatele
(10 hodnocení)
30. 10. 2023 15:00:15
Ahoj sql znalci měl bych dotaz.
Potřebuji vypsat do sql příkazu pouze články nesplnňující kritéria (články nepatří ke štítku).
1. Příkaz
SELECT *
FROM wp_posts
where wp_posts.post_type = 'post'
AND wp_posts.post_status = 'publish'
ORDER BY post_date DESC
2. Příkaz
SELECT * FROM wp_posts
LEFT JOIN wp_term_relationships ON
(wp_posts.ID = wp_term_relationships.object_id)
LEFT JOIN wp_term_taxonomy ON
(wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id)
WHERE wp_posts.post_type = 'post'
and wp_posts.post_status = 'publish'
AND wp_term_taxonomy.taxonomy = 'post_tag'
AND wp_term_taxonomy.term_id = 713
Ve výpisu potřebuji pouze články, které nesplňují z druhého příkazu.
Poradíte mi? Ptám se i chatgpt, ale ten mi radí špatně..
Asi by to chtělo nějaké zkušeného sql znalce, co by mi poradil
J. B.
30. 10. 2023 15:00:15
https://webtrh.cz/diskuse/wordpress-vypis-tabulek-bez-urciteho-stitku-pomoci-sql#reply1522138
Taps
verified
rating uzivatele
(118 hodnocení)
30. 10. 2023 17:25:32
Chces tedy vsechny clanky, ktere nemaji tag 713?
30. 10. 2023 17:25:32
https://webtrh.cz/diskuse/wordpress-vypis-tabulek-bez-urciteho-stitku-pomoci-sql#reply1522144
Jiri Borovy
verified
rating uzivatele
(10 hodnocení)
30. 10. 2023 17:58:39
Jojo, spravně :-) 
30. 10. 2023 17:58:39
https://webtrh.cz/diskuse/wordpress-vypis-tabulek-bez-urciteho-stitku-pomoci-sql#reply1522145
Taps
verified
rating uzivatele
(118 hodnocení)
31. 10. 2023 05:27:28
A to nestaci dat jen != 713
31. 10. 2023 05:27:28
https://webtrh.cz/diskuse/wordpress-vypis-tabulek-bez-urciteho-stitku-pomoci-sql#reply1522151
Pavel Mareš
verified
rating uzivatele
(19 hodnocení)
31. 10. 2023 07:31:52
$args = array(
    'post_type' => 'post',    // Assuming you want standard posts. Modify as needed.
    'posts_per_page' => -1,  // Get all posts. Adjust this to the number you want or remove it.
    'tag__not_in' => array(713)  // Exclude posts with tag ID 713.
);
Tohle?
31. 10. 2023 07:31:52
šikmo.cz – Digitální parťák, od designu přes vývoj až k marketingu.
https://webtrh.cz/diskuse/wordpress-vypis-tabulek-bez-urciteho-stitku-pomoci-sql#reply1522152
Jiri Borovy
verified
rating uzivatele
(10 hodnocení)
31. 10. 2023 08:26:46
No jako sql příkaz do php skriptu by to nešlo?
a   != 713   funguje pouze za podmínek, že má článek pouze jeden štítek. Což je pravděpodobnost, že mít nebude.
J. B.
31. 10. 2023 08:26:46
https://webtrh.cz/diskuse/wordpress-vypis-tabulek-bez-urciteho-stitku-pomoci-sql#reply1522153
Pavel Mareš
verified
rating uzivatele
(19 hodnocení)
31. 10. 2023 09:43:36
Proč SQL? Trochu rozepiš co je cílem, protože jestli chceš výpis příspěvků, tak ta get_posts a těmi argumenty, viz výše, vrátí přesně to, co potřebuješ. A ještě je to dle WP standardu. Čistý SQL se téměř nepoužívá, pokud fakt nejde o velkou logiku.
A pokud jó potřebuješ, nech si vypsat SQL který je na pozadí téhle logiky a jen okopíruj.
31. 10. 2023 09:43:36
šikmo.cz – Digitální parťák, od designu přes vývoj až k marketingu.
https://webtrh.cz/diskuse/wordpress-vypis-tabulek-bez-urciteho-stitku-pomoci-sql#reply1522156
Taps
verified
rating uzivatele
(118 hodnocení)
31. 10. 2023 09:49:54
ještě doplním @Pavel Mareš:
je možné to vyzkoušet i v externím souboru, stačí si v rootu webu založit soubor např. test.php do nějak pak vložit na začátek include 'wp-load.php' a následně použít příkaz od @Pavel Maresk
$args = array(
    'post_type' => 'post',    // Assuming you want standard posts. Modify as needed.
    'posts_per_page' => -1,  // Get all posts. Adjust this to the number you want or remove it.
    'tag__not_in' => array(713)  // Exclude posts with tag ID 713.
);
$articles = get_posts($args);
print_r($articles); // případně pak můžeš projít pole přes foreach
);
31. 10. 2023 09:49:54
https://webtrh.cz/diskuse/wordpress-vypis-tabulek-bez-urciteho-stitku-pomoci-sql#reply1522159
Jiri Borovy
verified
rating uzivatele
(10 hodnocení)
31. 10. 2023 10:58:55
Já mám php skript nezávislý na Wordpress, co z databáze (z Wordpress) exportuje správná data.
Sám si takto spravuji RSS, sitemap atd..
Jde mi o optimalizaci webu, protože už mám velký web 20 000 článků, 68 057 obrázků, 20 štítků. 20 let webu je 20let a db má více než 1 Gb.
Když si sitemap, RSS.. spravuji v php, tak je to minimálně 10x - možná i více rychlejší.-
Proto to potřebuji přímo jako sql (do mysql) příkaz.  Aby to bylo nejrychlejší.. Ale dost možná, že bude nejoptimálnější, když to odfiltruji přímo v php. Seznam štítků v článcích už umím udělat :-)
J. B.
31. 10. 2023 10:58:55
https://webtrh.cz/diskuse/wordpress-vypis-tabulek-bez-urciteho-stitku-pomoci-sql#reply1522160
Pavel Mareš
verified
rating uzivatele
(19 hodnocení)
31. 10. 2023 12:01:52
Uuugh, ta funkce je jen obalený SQL příkaz. Jen to umožňuje psát lépe než čistý SQL. Stačí dodat soubor WP wpdb a máš to.
A to docela vím, protože máme weby kde je 50k-250k POSTS a stovky tisíc obrázků. A 1 GB databáze není tolik.
Nicméně ChatGPT - https://chat.openai.com/share/5e527db7-90ab-479c-9e9d-061c18c9f1f6
31. 10. 2023 12:01:52
šikmo.cz – Digitální parťák, od designu přes vývoj až k marketingu.
https://webtrh.cz/diskuse/wordpress-vypis-tabulek-bez-urciteho-stitku-pomoci-sql#reply1522164
Jiri Borovy
verified
rating uzivatele
(10 hodnocení)
31. 10. 2023 13:18:18
Asi to nebude "bezchybné" 
Sql příkaz je skoro správný.
Ale nefunguje to, protože když má článek i jiné štítky, tak bohužel to zobrazí i články s IZ 713 :-(
31. 10. 2023 13:18:18
https://webtrh.cz/diskuse/wordpress-vypis-tabulek-bez-urciteho-stitku-pomoci-sql#reply1522170
Pavel Mareš
verified
rating uzivatele
(19 hodnocení)
31. 10. 2023 13:28:57
SELECT * FROM wp_posts
WHERE wp_posts.post_type = 'post'
AND wp_posts.post_status = 'publish'
AND wp_posts.ID NOT IN (
    SELECT object_id
    FROM wp_term_relationships
    WHERE term_taxonomy_id = 713
)
ORDER BY wp_posts.post_date DESC;
Zkus tohle, jinak prostě debuguj. Nebo dej přístup na FTP pro testování (do zpráv pošli nebo něco).
31. 10. 2023 13:28:57
šikmo.cz – Digitální parťák, od designu přes vývoj až k marketingu.
https://webtrh.cz/diskuse/wordpress-vypis-tabulek-bez-urciteho-stitku-pomoci-sql#reply1522171
old chool3
verified
rating uzivatele
2. 11. 2023 17:06:32
get_posts načítá celé WP
sql je rovnou db vrstva bez zbytečnosti
2. 11. 2023 17:06:32
https://webtrh.cz/diskuse/wordpress-vypis-tabulek-bez-urciteho-stitku-pomoci-sql#reply1522220
Pavel Mareš
verified
rating uzivatele
(19 hodnocení)
2. 11. 2023 17:14:21
Zbytečnosti jako ochrana SQL injection, cache vrstva ... což teda furt není "celé WP" protože WP_Query třída fakt není tak brutální a je to jen SQL interface. Ale jasně, pokud potřebuješ real-time věci pro RSS feed na každej refresh znova a data budeš zadávat ručně do kódu a nehrábne na ně uživatel ...
2. 11. 2023 17:14:21
šikmo.cz – Digitální parťák, od designu přes vývoj až k marketingu.
https://webtrh.cz/diskuse/wordpress-vypis-tabulek-bez-urciteho-stitku-pomoci-sql#reply1522221
old chool3
verified
rating uzivatele
2. 11. 2023 18:32:43
Pokud máš přístup do db a nepotřebuješ to pro wp, tak jsou to zbytečnosti.
Už hodněkrát jsem brál data z wp db přes sql bylo to vždy rychlejší než přes wp.
2. 11. 2023 18:32:43
https://webtrh.cz/diskuse/wordpress-vypis-tabulek-bez-urciteho-stitku-pomoci-sql#reply1522225
Pro odpověď se přihlašte.
Přihlásit