gpt4 book ai didi

wordpress - 分页无法使用自定义类型的自定义 SQL 查询

转载 作者:行者123 更新时间:2023-12-02 02:26:19 25 4
gpt4 key购买 nike

我已经为这个问题苦苦挣扎了 2 天。我已经阅读了数十篇文章,但无法找到解决方案。

注意:所有 var 名称都是西类牙语,因为这是一个西类牙语网站。

我创建了一个名为“promocion”的自定义类型,但是当我尝试转到第 2 页时列出文件时出现 404 错误。

我想设置的结构如下:

  • domain.com/promocion/new-promocion ->这很好用
  • domain.com/promociones -> 所有列表促销,这也很有效
  • domain.com/promociones/page/2 ->错误 404 - 未找到
  • 我的存档文件名模板:archive-promocion.php
  • 我的单页 View 的名称模板:single-promocion.php

WordPress 版本:3.1

插件:

  • wp-page-navi
  • 帖子 2 帖子插件(http://wordpress.org/extend/plugins/posts-to-posts/),用于创建之间的关系帖子和宣传。

这是在 functions.php 中创建的自定义类型

 register_post_type('promocion', array(
'label' => 'Promociones',
'description' => 'Promociones',
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'capability_type' => 'post',
'hierarchical' => false,
'rewrite' => array('slug' => 'promocion'),
'query_var' => true,
'has_archive' => 'promociones',
'menu_position' => 4,
'supports' => array('title','editor',),'labels' => array (
'name' => 'promociones',
'singular_name' => 'promocion',
'menu_name' => 'Promociones',
'add_new' => 'Añadir nueva',
'add_new_item' => 'Añadir nueva',
'edit' => 'Editar',
'edit_item' => 'Editar Promoción',
'new_item' => 'Nueva Promoción',
'view' => 'Ver Promoción',
'view_item' => 'Ver Promoción',
'search_items' => 'Buscar Promociones',
'not_found' => 'No se encontraron promociones',
'not_found_in_trash' => 'No se encontraron promociones en la papelera',
'parent' => 'Parent Promoción',),) );


function my_connection_types() {
if ( !function_exists( 'p2p_register_connection_type' ) )
return;

p2p_register_connection_type( array(
'from' => 'promocion',
'to' => 'post',
'reciprocal' => true
) );
}
add_action( 'init', 'my_connection_types', 100 );

这是我的存档页面 (archive-promocion.php) 的开头,我在其中执行自定义 SQL 查询并设置分页:

   if ( $cat != '' ) {
$cat_filter = 'wp_term_taxonomy.term_id = "' . $cat . '" AND';
} else {
$cat_filter = '';
}

$querystr = '
SELECT DISTINCT
promociones.ID,
promociones.post_title
FROM
wp_terms
Inner Join wp_term_taxonomy ON wp_terms.term_id = wp_term_taxonomy.term_id
Inner Join wp_term_relationships AS wpr ON wpr.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
Inner Join wp_posts AS comercios ON comercios.ID = wpr.object_id
Inner Join wp_p2p ON wp_p2p.p2p_to = comercios.ID
Inner Join wp_posts AS promociones ON promociones.ID = wp_p2p.p2p_from
WHERE
wp_term_taxonomy.taxonomy = "category" AND
comercios.post_type = "post" AND
' . $cat_filter . '
promociones.post_type = "promocion"
ORDER BY
promociones.menu_order ASC
';
$totalposts = $wpdb->get_results($querystr, OBJECT);
$ppp = 2;
$wp_query->found_posts = count($totalposts);
$wp_query->max_num_pages = ceil($wp_query->found_posts / $ppp);
$on_page = intval(get_query_var('paged'));

if($on_page == 0){ $on_page = 1; }
$offset = ($on_page-1) * $ppp;
$wp_query->request = $querystr . " LIMIT $ppp OFFSET $offset";
$pageposts = $wpdb->get_results($wp_query->request, OBJECT);

.htaccess 文件

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /sitiodeloschicos/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /sitiodeloschicos/index.php [L]
</IfModule>

请帮帮我,我快疯了,这个项目已经迟到了。谢谢!

最佳答案

好吧,1 周后,是的,1 周后我费尽心机,阅读了互联网上的每个论坛并询问了所有人,我找到了解决方案,这非常愚蠢。

上面发布的所有代码都运行完美,没有任何问题。

代码的问题在于我在管理面板中设置为每页显示 10 个帖子。在我的代码中,出于测试目的,我将其更改为每页仅显示 1 个,但不知何故 wordpress 仍在使用管理面板中配置的 10 个值。

所以我所做的是在管理面板中将值更改为 1,然后在代码中增加我的值。这是一个糟糕的解决方案,但它确实有效。

有什么方法可以通过代码设置每页帖子的全局值吗?

关于wordpress - 分页无法使用自定义类型的自定义 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5827123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com