CodeIgniter ve WordPress, WordPress blogu'nun görünüm ve stil/şablonunun CodeIgniter tarafından oluşturulan sayfalara taşınacağı şekilde nasıl entegre edilebilir?WordPress şablonunu CodeIgniter ile tümleştirme nasıl yapılır?
cevap
İlk adım, CodeIgniter ve WordPress dosyalarını kendi dizinlerine taşımaktır.
Bundan sonra, CodeIgniter'ın index.php
dosyanızın en üstünde aşağıdaki satırı koyun. WordPress'in kök dizinine işaret etmek için yolu wp-blog-header.php
olarak değiştirin.
<?php
require('../wp-blog-header.php');
Ardından, görünümlerinizde içine aşağıdaki işlevleri kullanabilirsiniz:
<?php
get_header();
get_sidebar();
get_footer();
?>
Diğer yardımcı fonksiyonları da entegre tasarım size yardımcı olabilir WordPress belgelerinde bulunabilir.
Codeigniter'in
require('blog/wp-blog-header.php');
add_filter('site_url', 'ci_site_url', 1);
function ci_site_url() {
include(BASEPATH.'application/config/config.php');
return $config['base_url'];
}
header("HTTP/1.0 200 OK");
Son hat eklenmesi gerekir: Aşağıdaki kodu kullanarak bu çözüldü.
Şimdi CodeIgntier içinde aramak için WordPress işlevlerini kullanmak güzel. kodunuzda kod ignitörün site_url işlevini kullanarak planlıyoruz veya varolan bir CI site ve RP'nin birleştirme yapıyoruz eğer
... Bu yararlı olabilir: Üstteki
CI index.php:
require_once '../wp-blog-header.php';
add_filter('site_url', 'ci_site_url', 4);
function ci_site_url($url, $path, $orig_scheme, $blog_id) {
$CI =& get_instance();
$new_path = str_replace("YOURSITEURLGOESHERE", "", $url);
return $CI->config->site_url($new_path);
}
etkili bir bu CI içinde SITE_URL kullanmasını sağlar, böylece zaten projenize bağlantılar ve içerik bir ton ekledim eğer size yardımcı olabilir.
Burada, kodlayıcı projenizde WordPress şablonlarını kullanmanın başka bir yolu var. Bu benim için daha iyi çalışıyor, bu yüzden paylaşmak istedim. WordPress 3.3.1 ve Codeigniter 2.1 ile test edilmiştir.
Dizin Yapısı:
/ - WordPress
/ci/ - codeigniter
/ci/index.php (CI Endeksi dosyasının Üst) varsayılan CodeIgniter versiyonunu geçersiz kılarak site_url fonksiyonu çarpışma ile
$wp_did_header = true;
if (defined('E_RECOVERABLE_ERROR'))
error_reporting(E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR);
else
error_reporting(E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING);
require_once("../wp-config.php");
Deal. Bunun yerine, 'u kullanmak için site_url()
kod işaretçisinde kullandığınız herhangi bir yeri değiştirmeniz gerekecektir.
/ci/application/helpers/MY_url_helper.php
<?php
function anchor($uri = '', $title = '', $attributes = '')
{
$title = (string) $title;
if (! is_array($uri))
{
$site_url = (! preg_match('!^\w+://! i', $uri)) ? ci_site_url($uri) : $uri;
}
else
{
$site_url = ci_site_url($uri);
}
if ($title == '')
{
$title = $site_url;
}
if ($attributes != '')
{
$attributes = _parse_attributes($attributes);
}
return '<a href="'.$site_url.'"'.$attributes.'>'.$title.'</a>';
}
if (! function_exists('ci_site_url'))
{
function ci_site_url($uri = '')
{
$CI =& get_instance();
return $CI->config->site_url($uri);
}
}
function current_url()
{
$CI =& get_instance();
return $CI->config->ci_site_url($CI->uri->uri_string());
}
function anchor_popup($uri = '', $title = '', $attributes = FALSE)
{
$title = (string) $title;
$site_url = (! preg_match('!^\w+://! i', $uri)) ? ci_site_url($uri) : $uri;
if ($title == '')
{
$title = $site_url;
}
if ($attributes === FALSE)
{
return "<a href='javascript:void(0);' onclick=\"window.open('".$site_url."', '_blank');\">".$title."</a>";
}
if (! is_array($attributes))
{
$attributes = array();
}
foreach (array('width' => '800', 'height' => '600', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '0', 'screeny' => '0',) as $key => $val)
{
$atts[$key] = (! isset($attributes[$key])) ? $val : $attributes[$key];
unset($attributes[$key]);
}
if ($attributes != '')
{
$attributes = _parse_attributes($attributes);
}
return "<a href='javascript:void(0);' onclick=\"window.open('".$site_url."', '_blank', '"._parse_attributes($atts, TRUE)."');\"$attributes>".$title."</a>";
}
function redirect($uri = '', $method = 'location', $http_response_code = 302)
{
if (! preg_match('#^https?://#i', $uri))
{
$uri = ci_site_url($uri);
}
switch($method)
{
case 'refresh' : header("Refresh:0;url=".$uri);
break;
default : header("Location: ".$uri, TRUE, $http_response_code);
break;
}
exit;
}
Artık CI projesinde şablonu çizmek için get_header()
ve/veya get_footer()
fonksiyonları WordPress kullanabilirsiniz.
Özel CI e-ticaret sitesinde makaleleri yönetmek için WordPress kullanıyorum. CI benim ana sitem.
CI index.php üstüne aşağıdaki kodu eklerken berbat olmak benim URL'ler olmadan benim CI denetleyicileri içinde Wordpress fonksiyonlarını kullanabilmek için kulüpler/application (CI)
/... (directories like javascript, stylesheets ...)
/system (CI)
/wordpress
/.htaccess
/index.php (CI)
:
dizin yapısı şudurrequire_once './wordpress/wp-blog-header.php';
add_filter('site_url', 'ci_site_url', 1);
function ci_site_url($uri = '') {
$CI =& get_instance();
$uri = ltrim(str_replace($CI->config->base_url('wordpress/'), '', $uri),'/'); // "wordpress/" is in my case the name of the directory where I installed Wordpress. See directory structure above.
return $CI->config->site_url($uri);
}
Ayrıca Jérôme Jaglale (http://jeromejaglale.com/doc/php/codeigniter_i18n) tarafından CI i18n kitaplığı kullanırken de çalışır.
- 1. WordPress ile Azure üzerinde WordPress ile Hosting
- 2. VB6 MSBuild ile tümleştirme
- 3. Bir jinja şablonunu nasıl endekslersiniz?
- 4. Keras'ı Spearmint ile tümleştirme sorunları
- 5. Select2'yi Angular2 Bileşenleri ile tümleştirme örnekleri
- 6. Codeigniter - oturumlar için önbelleğe alma önleme nasıl yapılır
- 7. PostGresql ile wordpress nasıl kurulur
- 8. Codeigniter dizilerini kullanarak toplu güncelleştirme nasıl yapılır? Sadece sormak istiyorum
- 9. tümleştirme Bootstrap ve GWT
- 10. SecureNet ödeme ağ geçidi ile tümleştirme
- 11. Vimeo kullanarak Vimeo ile tümleştirme Scribe
- 12. Web sitesine codeigniter ile yönlendirme
- 13. CodeIgniter
- 14. CodeIgniter
- 15. Codeigniter içinde slugs kullanma
- 16. CodeIgniter
- 17. @ Html.LabelFor şablonunu nasıl geçersiz kılabilirim?
- 18. CodeIgniter
- 19. CodeIgniter
- 20. tümleştirme jpa + mongodb "çalışmıyor"
- 21. Capybara tümleştirme testi 'TextAngular' girişi
- 22. Codeigniter CSRF - nasıl çalışır
- 23. Codeigniter
- 24. Grup_start'ı codeigniter ile kullanma. VE
- 25. tümleştirme sınaması ASP.NET 5 Kimlik
- 26. CodeIgniter
- 27. codeigniter
- 28. VeriFone terminaliyle POS uygulamasını tümleştirme
- 29. Bir üretim veritabanında uçarak tümleştirme
- 30. WPF StackPanel şablonunu değiştirme
Absoultely mükemmel çalışıyor teşekkürler dostum –