#Wordpress

Bir sorum var, belki çözümü oldukça kolaydır.

Örneğin site.com isimli WordPress tabanlı bir sitem var. Bir de alt.site.com isimli ikinci bir WordPress tabanlı sitem var. Yapmak istediğim şey site.com isimli siteme üye olanlar aynı üyelik ile alt.site.com siteme de üye olmuş sayılsın. İki siteyede tek üyelikle girilsin istiyorum.

En kolay şekilde nasıl çözebilirim?

BeğenFavori PaylaşYorum yap

Merhabalar herkese,
Bir blog sayfamız için Domain almak istiyorum fakat tecrübesiz ve bilgisiz olduğum için nereden almam gerek karar veremedim. Her site hakkında kötü yorumlarda var iyi yorumlar da var. Tam olarak nelere dikkat edilmesi gerekiyor bilmiyorum çok da acemiyim. Bu konuda kısa da olsa bilgilendirebilecek, öneri verebilecek olan birileri var mıdır?
Bahsettiğim blog da şu bu arada: https://bizburalardayiz.wordpress.com/
WordPress uzantılı takılıyorduk 2 senedir, şimdi localhost ile baştan kurmaya çalışıyorum siteyi. Buradaki gönderileri de dışa aktarıp ekleyeceğim yeni siteye.
#yardım #TeknoYardım #domain #wordpress

Biz Buralardayız

story&photography
BeğenFavori PaylaşYorum yap

wp için basit bir üyelik sistemi eklentisi lazım, bazı yazıları sadece benim belirlediğim bir kaç kullanıcı görsün istiyorum var mıdır böyle kullanışlı basit bir eklenti ?
#wordpress

BeğenFavori PaylaşYorum yap

WordPress siteme HTML kodu veya bir eklenti yolu ile fotoğrafda gözüken iletişim bilgi bölümünü ekleme şansın var mı ? Tema oraya HTML kodu girmeme izin veriyor. Böyle hazır kodlar var mı veya eklentisi olabilir mi ? Bazı eklentileri iletişim eklentilerine baktım ama onlar genelde siteye giren kişilerin sizinle iletişim kurması için olan hazır şablonlar.

#wordpress

BeğenFavori PaylaşYorum yap
  • Temp 🔚 @temp

    Söylediğin şey temaya göre çok değişir dostum.
    Tema dosyalarına girerek navbar kısmına manuel olarak html ve css kodları ekleyerek bu dediğini yapabilirsin yada temanın eğer navbar kısmına widget desteği varsa sürükle bırak yoluyla html ve css kodlarla yine ekleme yapabilirsin.
    Bu tarz hazır bir eklenti var mı bilmiyorum ama bu işler benim bildiğim temaya göre şekillenen şeyler.
    O yüzden manuel ayarlaman lazım.

    • Joker @jokerx2

      Yok hocam dediğin bazı temalarda hazır geliyor özelleştirme kısmından falan giriyorsun. Benim dediğim tema da en üst bölüme yine özelleştirme bölümünden HTML kodu ekleye biliyorum ama hazır düzgün bir kod bulmadım. Yani hazır şık duran HTML kodu olsa işimi görecek ama onu bulamadım.

    • teknopanda @teknopanda

      reklam eklentileride oluyor navbardaki reklam kodu bölümüne iletişim kodlarını yazar ama tabi temadan metaya değişken bir durum.

  • Şahan Muratoğlu @sahan-muratoglu

    Elementor kullanarak kod kullanmadan yapmak mümkün.

#Wordpress te #elementor eklentisi kullanan var mı ,şimdi farkettim elementor kullandığım yazılarda yazı içi reklam çıkmıyor ama diğerlerinde çıkıyor. Yazıları normal editöre çekeceğim sanırım ☹️

BeğenFavori PaylaşYorum yap

WordPress'te sıkıcı admin paneli yerine özelleştirilebilir sağlam eklenti kullanan var mı? Aquila kullanıyorum ama son zamanlarda sıkıcı hatalar vermeye başladı ya da ben sıkıldım 😀 #wordpress

BeğenFavori PaylaşYorum yap

Bu #Wordpress'i reklam gelirine geçirmek için ne yapmak, nasıl yapmak gerekiyor. Google vb istemiyorum ama...

BeğenFavori PaylaşYorum yap

Arch Linux/Manjaro - WordPress rehberi

Son zamanlarda bir kaç defa değişik dağıtımlara yani Manjaro XFCE ve KDE’ye WordPress yükledim. Peki bu Manjaro’ya WordPress yüklemek ne işe yarar derseniz, localhost üzerinden bilgisayarınızda WordPress üzerinde çalışmalar yapar, eklenti ve temaları deneyebilirsiniz. Multisite yöntemi ile aynı anda birden çok site oluşturmak da mümkün. Şimdi elimden geldiği kadar olayı adım adım detaylandırayım. Aslında bu yükleme işlemi grafik arayüzden de yapılabilir ama konsol ile kurulum gayet kolay ve tavsiye ederim.

İlk WordPress yüklemesini yaparken Türkçe detaylı bir kaynak bulamadığım için marcogomiero.com ve ArchWiki’den yararlandım ve yüklemeler esnasında çektiğim sıkıntılar nedeniyle bu ikisini birleştiren, ileride kendime de bir hatırlatma notu olacak, komple bir açıklama yazmaya karar verdim. Konuya her ne kadar Manjaro olarak başlasam da sanırım Arch Linux ve bağlı dağıtımlarda bu yöntem geçerli olabilir.

Evet, ilk olarak güncellemeleri yaparak işe başlayalım. Aşağıdaki komutları konsola tek tek yazmak zor gelirse seçerek farenin tekerleği ile tıklayarak ya da kopyalayıp, Ctrl+Shift+v ile yapıştırabilirsiniz.

sudo pacman -Syu

Şimdi Apache’yi yükleyelim.

sudo pacman -S apache

Sonra Apache’yi başlatıp, otomatiğe alalım. Bunun için aşağıdaki satırları sırayla konsola yazıp entere basalım.

sudo systemctl start httpd

sudo systemctl enable httpd

Bu noktada Apache’yi konfigüre etmemiz lazım. Bunun için vim, nano gibi editörler kullanılabilir. Hatta bulunduğu klasörü root hakları ile açıp Geany, Kate, Gedit gibi bir metin düzenleyici ile bunu yapabiliriz. Biz nano ile devam edelim. Nano’da arama yapmak için “Ctrl+w”, çıkış için “Ctrl+x” tuşlarını kullanıyoruz. Tuş sırası Ctrl+x, E ya da Y (sistemin diline göre) ve Enter olmalı. Böylece yaptığımız değişikleri kaydedebiliriz. Bunu yapmak için root hakları ile dosyayı açmak gerektiğini unutmayalım.

sudo nano /etc/httpd/conf/httpd.conf

Açtığımız dosyada aşağıdaki satırı bulalım ve başındaki # işaretini kaldıralım. Bu onu yorumdan çıkarıp çalışan bir komut haline sokuyor.

#LoadModule unique_id_module modules/mod_unique_id.so

Şimdi değişiklikleri uygulamak için Apache’yi yeniden başlatalım.

sudo systemctl restart httpd

Sistemin düzgün çalışıp çalışmadığını anlamak için basit bir html dosyası yazıp /srv/http klasörünün içine kaydedelim. Nano ile bunu basitçe yapabiliriz.

sudo nano /srv/http/index.html

Açılan pencerenin içine aşağıdaki html kodlarını yapıştıralım ve “Ctrl+x” ile çıkarken “Evet” diyelim.

<html>
    <title>Hello World</title>
    <body>
        <h1>This is a test. Apache Web Server is working</h1>
    </body>
</html>

Şimdi bir tarayıcı açalım, mesela Firefox ve adres satırına http://localhost yazıp entere basalım. Sayfayı aşağıdaki gibi görüyorsak, her şey yolunda demektir. İngilizce yazdım çünkü Türkçe harfler düzgün gözükmeyebilir, sizi şaşırtabilir.

Şimdi bu aşamada bazı kontroller yapalım, mesela /etc/host dosyanız aşağıdaki gibi bir şey olmalı.

# Host addresses
127.0.0.1  localhost
127.0.1.1  "Bilgisayar adı"
::1        localhost ip6-localhost ip6-loopback
ff02::1    ip6-allnodes
ff02::2    ip6-allrouters

Sonra yine nano ile Apache için bir konfigürasyon dosyası yaratalım.

sudo nano /etc/httpd/conf/extra/httpd-wordpress.conf

İçine aşağıdaki satırları yapıştıralım..

Alias /wordpress "/srv/http/wordpress"
<Directory "/srv/http/wordpress">
	AllowOverride All
	Options FollowSymlinks
	Require all granted
</Directory>

Burada ilk satırda bulunan /wordpress yerine mesela /blogum yazabilirsiniz. Böylece sitenin adresi /wordpress yerine /blogum olur diyorlar ama ben beceremedim (Bir keresinde çalıştı ama nasıl oldu bilemiyorum). O nedenle kafa karıştırmak istemiyorsanız wordpress olarak bırakın. Ve bunun çalışması için bir kez daha httpd.conf dosyasını açıp

sudo nano /etc/httpd/conf/httpd.conf

en sonuna gerekli satırı ve daha sonra bize PHP içinde gerekecek üç satır ile birlikte ekleyelim. Bir kere açmışken hpttd.conf dosyasındaki işlerimizi bitirelim.

LoadModule php7_module modules/libphp7.so
AddHandler php7-script php
Include conf/extra/php7_module.conf
Include conf/extra/httpd-wordpress.conf

Aşağıdaki satırı bulup başına yorum yani # ekleyelim

LoadModule mpm_event_module modules/mod_mpm_event.so

ve aşağıdaki satırları bulup yorumu yani # işaretini kaldıralım. İkinci sıradaki rewrite modülü; örneğin permalinks yani kalıcı bağlantıları değiştirdiğimizde sistemin .htaccess dosyası oluşturması, aynı zamanda daha sonra anlatacağım multisite için gerekli.

#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
#LoadModule rewrite_module modules/mod_rewrite.so

Ctrl+x, Evet ve enter ile çıkalım ve yukarıda yaptığımız değişikliklerin çalışması için Apache’yi yeniden başlatalım.

sudo systemctl restart httpd

PHP’yi yükleme

İlk olarak PHP dosyalarını sisteme yükleyerek işe başlayalım.

sudo pacman -S php php-cgi php-gd php-pgsql php-apache

Şimdi de nano ile açıp php.ini dosyasında bir takım ayarlar yapalım.

sudo nano /etc/php/php.ini

aşağıdaki satırlardan yorumu yani (;) noktalı virgül işaretini kaldıralım ve her zamanki gibi Ctrl+x, E ve enter ile kaydedelim. Aşağıdaki satırlar biraz farklı olabilir siz "mysqli" ve "gd" yazanları bulup noktalı virgülleri kaldırın.

;extension=mysqli.so
;extension=gd

PHP artık düzgün olarak kurulmuş olmalı, bunu görmek için /srv/http/ klasöründe aşağıdaki komutla bir info.php dosyası yaratalım.

sudo nano /srv/http/info.php

İçine de aşağıdaki satırı girelim ve kaydederek çıkalım.

<?php phpinfo(); ?>

Sonra bir kez daha Apache yani httpd sunucuyu başlatalım.

sudo systemctl restart httpd

Şimdi sağlamasını yapmak için yine tarayıcımızı açalım ve http://localhost/info.php adresine gidelim. Aşağıdaki gibi bir şey görüyorsak, her şey yolunda demektir.

MariaDB’yi yükleme

Şimdi veritabanını kurmanız ve oluşturmanız gerekiyor. Arch Linux için MySQL uygulaması olan MariaDB’yi kuracağız.

sudo pacman -S mariadb libmariadbclient mariadb-clients

Yükledikten sonra aşağıdaki komutla bazı ayarları yapalım.

sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

Ve veritabanı servisini başlatıp etkinleştirelim. Sıra ile yazıp entere basalım.

sudo systemctl start mysqld

sudo systemctl enable mysqld

Veritabanını yaratmadan önce root şifresi ve başka bir takım ayarları yapalım, komut aşağıda..

sudo mysql_secure_installation

Burada aşağıdaki gibi sorular çıkacak. Yanıtları yanına yazdım. Veritabanına root şifresi girmedim, sonuçta lokal bazda denemeler yapmak için sunucu kuruyoruz, ama isterseniz o aşamada bir şifre atayabilirsiniz. Y/n ya da E/h ile cevaplayın.

Enter current password for root (enter for none): (Enter tuşuna basınız)
Switch to unix_socket authentication [Y/n] n
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Artık veritabanını yaratabiliriz. MySQL konsoluna girmek için komutumuzu yazıyoruz.

sudo mysql -u root -p

Mariadb konsoluna girdikten sonra veritabanını ve kullanıcıyı oluşturuyoruz, bunun için sırası ile aşağıdaki satırları girin. Burada wpdata ve wpuser için kendinizin belirleyeceği isimleri girebilirsiniz. Password yazan yere ise veritabanı için belirlediğiniz şifreyi girin ve bunları bir yere not edin. Aşağıdaki dört satırı sırası ile girdikten sonra Ctrl+c ile normal konsola çıkıyoruz.

CREATE DATABASE wpdata;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON wpdata.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;

WordPress’i yükleme

Sonunda /srv/http/ klasörü içine WordPress’i yükleyebiliriz. Aslında WordPress’i Pamac üzerinden de yükleyebiliriz ama o zaman wordpress klasörünü /usr/share/webapps/ içine atıyor. Yukarıda yaptığız ayarların karışmaması için en iyisi siz aşağıdaki yöntemi izleyin.

cd /srv/http
sudo wget https://wordpress.org/latest.tar.gz
sudo tar xvzf latest.tar.gz

Önce dosya sahipliklerini ayarlayalım. Bunu yaparken http kasörü içinde olduğumuza dikkat edelim. Yukarıda cd /srv/http diyerek bunu yapmıştık.

sudo chown -R root:http wordpress

Şimdi de dosya izinlerini ayarlayalım.

sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;

config dosyasını oluşturalım..

sudo cp wp-config-sample.php wp-config.php

config dosyasında ayarları yapmak için nano ile açalım,

sudo nano wp-config.php

Dosya içine daha önce belirlediğimiz veritabanı, kullanıcı adı ve şifreyi girelim. Aşağıda örnek görülüyor.

/** The name of the database for WordPress */
define('DB_NAME', 'wpdata');
/** MySQL database username */
define('DB_USER', 'wpuser');
/** MySQL database password */
define('DB_PASSWORD', 'password');

Hemen hemen her şey bitti, son ayarlar kaldı.. http://localhost/wordpress adresine gidip son ayarlarımızı yapıp sitemizi oluşturalım. Aşağıdaki gibi bir ekran görmemiz gerekiyor.

Ufak tefek sorunlar

Evet WordPress’i yükledik artık kullanıma hazır. Bu şekilde devam edebiliriz ama bazı işlemler basit sorunlar çıkarabilir. Mesela Permalinks yani Kalıcı bağlantıları değiştirmek ya da multisite kurmak istersek bizden bir .htaccess dosyası isteyecek. Bunun için wordpress klasörü içinde bir tane yaratalım. Ve içine ilk aşamada yazılabilmesi için izinleri açalım.

cd /srv/http/wordpress (wordpress'girdik)
sudo touch .htaccess (dosyayı yarattık)
sudo chmod 766 .htaccess (izinleri açtık)
sudo chmod 444 .htaccess  (istersek sonra bununla kapatabiliriz)

Eklenti ve kullanmayacağımız temaları eklemek, silmek istersek de şöyle bir ekran ile karşılaşabiliriz.

Bu durumda aşağıdaki satırı /srv/http/wordpress klasöründe bulunan wp-config.php dosyasının içine, define yazan satırların altına ekleyelim.

define( 'FS_METHOD','direct' );

Devamında ise dosya yazma izinlerini açalım

sudo find . -type d -exec chmod 777 {} \;

Böyle yaparak tüm klasörlerin izinlerini açtık, bu bir güvenlik açığı oluşturur ama zaten WordPress’i evde denemeler yapmak için localhost’a yüklediğimizden çok da dert değil. Böyle kalsın. Eğer daha komplike güvenli bir çözüm bulursanız, o da olur.

Multisite kurmak

Eğer aynı anda birden çok WordPress sitesi yaratıp, üzerinde denemeler yapmak istersek, multisite kurmamız gerekecek. İlk iş olarak yine wp-config.php dosyasında bir değişiklik yaparak işe başlayalım. Dosyayı açalım ve içine hemen “That’s all, stop editing! Happy publishing” yazısının üstüne aşağıdaki satırı yapıştırıp, dosyayı kaydedelim.

/* Multisite */
define('WP_ALLOW_MULTISITE', true);

Sonra WorpPress’in Dashboard yani Başlangıç’a dönelim ve Tools/Araçlar menüsü altındaki Network Settings/Ağ Ayarına tıklayalım. Burada gerekli alanları doldurduktan sonra Kur diyelim. Burada bize iki pencere verdi. Üstteki bir nolu pencerede yazan define ile başlayan satırları az önce wp-config.php dosyası içine kaydettiğimiz define satırının altına, happy bloging’in üstüne yapıştıralım. Örnek aşağıda..

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'localhost');
define('PATH_CURRENT_SITE', '/wordpress/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

İkinci pencerede verilen satırları da orada yazdığı gibi eskisinin yerine .htaccess dosyasının içine yapıştıralım. Örnek şöyle bir şey..

RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

Bu işlemleri yaptıktan sonra WordPress’ten çıkıp bir daha girelim. Üstte solda sitelerim yazısını göreceksiniz. Orada Ağ yöneticisi/Sitelerim’den kolayca bir WordPress sitesi daha oluşturabilirsiniz.

Multisite sisteminde bir eklenti ya da tema yükleyeceksek önce Ağ Yöneticisi altında yüklüyoruz, sonra oluşturduğumuz sitede o eklenti ya da temayı kullanıyoruz.

Evet hepsi bu kadar, umarım yararlı olmuştur, mutlu bloglar diyerek lafı bitirelim.

İşler ters gitti, veritabanını silelim

Bir takım hatalar oldu, WordPress’i resetlemek için eklentiler var ama biz her şeye sıfırdan başlamak istiyoruz. /srv/http/ altındaki wordpress dosyasını sildik.

sudo rm -r wordpress

Şimdi de veritabanını silelim. Önce veritabanına girelim, ayrı bir veritabanı şifre oluşturmadıysak kullanıcı şifresi ile giriyoruz.

sudo mysql -u root -p

MariaDB> çıkacak, buraya aşağıdaki komutu girip olayı görelim

SELECT User,Host FROM mysql.user;

Aşağıdaki gibi bir sonuç çıkacak, burada bizi ilgilendiren bizim kullanıcı adımız "wpuser" ya da sizin verdiğiniz ad..

MariaDB [(none)]> SELECT User,Host FROM mysql.user;
+---------+-----------+
| User    | Host      |
+---------+-----------+
| wpuser  | localhost |
| mysql   | localhost |
| root    | localhost |
+---------+-----------+

Hatta aşağıdaki komutla yukarıdaki "wpuser" kullanıcısının hangi veritabanına ait olduğunu da bulabiliriz.

SHOW GRANTS FOR 'wpuser'@'localhost';

Sonuç şöyle bir şey çıkacak;

| GRANT USAGE ON *.* TO 'wpuser'@'localhost' IDENTIFIED BY PASSWORD '*29C51323E0' |
| GRANT ALL PRIVILEGES ON `wpdata`.* TO 'wpuser'@'localhost' 

Şimdi veritabanında kullanıcıya verdiğimiz yetkileri iptal edelim.

REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'wpuser'@'localhost';

Kullanıcıyı silelim

DROP USER 'wpuser'@'localhost';

Son olarak "wpdata" isimli veritabanını silelim

DROP DATABASE wpdata;;

Evet veritabanını tertemiz sildik, şimdi yukarıdaki açıklamalara göre yeniden oluşturabiliriz.

BeğenFavori PaylaşYorum yap

#WebTasarım #Wordpress # TeknoYardım

Yardımınıza ihtiyacım var.

Birbiri ile bağlantılı 2 adet web sitesi var. Bazı başlıklar A sitesinden B sitesine yönlenecek.
Ziyaretçiler B sitesinde ilgili sayfadayken üstte bir çubukta "A sitesine geri dön / B sitesini keşfetmeye devam et" seçeneği göstermek istiyorum.

Ancak eğer biri B sitesinde gezerken o sayfaya giderse böyle bir uyarı görünmeyecek.

&utm_source=***** veya ?ref=****** gibi bir şeyle halledebileceğini düşünüyorum ama emin değilim. Nasıl yapabilirim?

BeğenFavori PaylaşYorum yap

#PHP #wordpress

Arkadaşlar bir adet PHP tabanlı haber sitesi WordPress'e taşınacak ancak içerikler (haberler vs.) nasıl taşınır en kolay yoldan?

BeğenFavori PaylaşYorum yap